Alter Proc kuka_scrbb_sfj_wrk @ToDate DateTime
as 
Select FBillNo as '流程卡号',FNumber as '沙发脚代码',FName as '沙发脚名称',FColor as '颜色',
       FPlanDate as '计划时间',FQty as '计划数量',Cast(FQty-FCQty as float) as '延期数量',FForShort as '简称',
       FStockPlace as '库位',FNote as '备注'
From Z_KUKA_ICMO 
Where FPlanDate <=@ToDate 
And  延期数量<>0
报错为:
消息 207,级别 16,状态 1,过程 kuka_scrbb_sfj_wrk,第 8 行
列名 '延期数量' 无效。请问怎么解决?

解决方案 »

  1.   

    Alter Proc kuka_scrbb_sfj_wrk @ToDate DateTime
    as 
    Select FBillNo as '流程卡号',FNumber as '沙发脚代码',FName as '沙发脚名称',FColor as '颜色',
           FPlanDate as '计划时间',FQty as '计划数量',Cast(FQty-FCQty as float) as '延期数量',FForShort as '简称',
           FStockPlace as '库位',FNote as '备注'
    From Z_KUKA_ICMO 
    Where FPlanDate <=@ToDate 
    And  Cast(FQty-FCQty as float)<>0
      

  2.   

    And  延期数量<>0 -- FQty<> FCQty
      

  3.   

    Alter Proc kuka_scrbb_sfj_wrk @ToDate DateTime
    as 
    Select FBillNo as '流程卡号',FNumber as '沙发脚代码',FName as '沙发脚名称',FColor as '颜色',
           FPlanDate as '计划时间',FQty as '计划数量',Cast(FQty-FCQty as float) as '延期数量',FForShort as '简称',
           FStockPlace as '库位',FNote as '备注'
    From Z_KUKA_ICMO 
    Where FPlanDate <=@ToDate 
    And  延期数量<>0怎么会相同了??
      

  4.   


    --Cast(FQty-FCQty as float) as '延期数量'
    Cast(FQty-FCQty ) as '延期数量'
      

  5.   

    计算列不能在本次查询中使用,改为如下两种方法的一种.Alter Proc kuka_scrbb_sfj_wrk @ToDate DateTime
    as 
    Select FBillNo as '流程卡号',FNumber as '沙发脚代码',FName as '沙发脚名称',FColor as '颜色',
           FPlanDate as '计划时间',FQty as '计划数量',Cast(FQty-FCQty as float) as '延期数量',FForShort as '简称',
           FStockPlace as '库位',FNote as '备注'
    From Z_KUKA_ICMO 
    Where FPlanDate <=@ToDate 
    And  (FQty-FCQty <> 0 or Cast(FQty-FCQty as float) <> 0)Alter Proc kuka_scrbb_sfj_wrk @ToDate DateTime
    as 
    select * from
    (
    Select FBillNo as '流程卡号',FNumber as '沙发脚代码',FName as '沙发脚名称',FColor as '颜色',
           FPlanDate as '计划时间',FQty as '计划数量',Cast(FQty-FCQty as float) as '延期数量',FForShort as '简称',
           FStockPlace as '库位',FNote as '备注'
    From Z_KUKA_ICMO 
    Where FPlanDate <=@ToDate 
    ) t where 延期数量 <> 0 
      

  6.   

    Alter Proc kuka_scrbb_sfj_wrk @ToDate DateTime
    as 
    Select FBillNo as '流程卡号',FNumber as '沙发脚代码',FName as '沙发脚名称',FColor as '颜色',
           FPlanDate as '计划时间',FQty as '计划数量',Cast(FQty-FCQty as float) as '延期数量',FForShort as '简称',
           FStockPlace as '库位',FNote as '备注'
    From Z_KUKA_ICMO 
    Where FPlanDate <=@ToDate 
    And  Cast(FQty-FCQty as float)<>0
      

  7.   

    这个地方不能,因为SQL 的执行顺序是先执行了where 条件,然后才执行select ,所以是错误的
      

  8.   

    别名不可以用于条件。先进行条件产生结果集,才有别名。别名可以用于 group by , having