select 
i.storeid,i.busidate,
i.itemnumber,sum(i.accDlvQuantity) as dlv,
sum(i.accRtnQuantity) as rtn,sum(i.accSaleQuantity) as sale,
sum(i.accSaleRtnQuantity) as salertn,sum(i.accMrkQuantity) as mrk,
sum(i.accTrsQuantity) 
from inv i, (select storeid,busidate,itemnumber,dlvQty,rtnqty,saleQty,saleRtnQty,mrkQty,(trsInQty + trsOutQty ) as trs from checktab) c
where 
i.itemnumber = c.itemnumber and
i.storeid = c.storeid and
i.busidate >= '2008-06-25' and
i.busidate <= '2008-07-24' and
c.busidate = '2008-07-25' 
group by i.itemnumber 
having dlv <> dlvQty;

解决方案 »

  1.   

    ERROR 1054 (42S22): Unknown column 'dlvQty' in 'having clause'
      

  2.   


    select 
    i.storeid,i.busidate, 
    i.itemnumber,sum(i.accDlvQuantity) as dlv, 
    sum(i.accRtnQuantity) as rtn,sum(i.accSaleQuantity) as sale, 
    sum(i.accSaleRtnQuantity) as salertn,sum(i.accMrkQuantity) as mrk, 
    sum(i.accTrsQuantity) 
    from inv i, checktab c 
    where 
    i.itemnumber = c.itemnumber and 
    i.storeid = c.storeid and 
    i.busidate >= '2008-06-25' and 
    i.busidate <= '2008-07-24' and 
    c.busidate = '2008-07-25' 
    group by i.itemnumber 
    having i.dlv <> c.dlvQty;