邹健等大侠请忙,请问有内外联的sql结果集的过滤问题!
SELECT hd_sctzd_dtl.tlno,
hd_sctzd_dtl.perqty,
hd_sctzd_dtl.totalqty,
hd_sctzd_dtl.unitno,
hd_sctzd_dtl.unitnocims,
hd_sctzd_dtl.bpno,
hd_sctzd.scno,
hd_sctzd.itemno,
isnull(send.sendqty,0) as sqty
FROM hd_sctzd_dtl,
hd_sctzd,
(
SELECT tlno,bpno,sum(sqty) as sendqty
from hd_clckck,hd_clckck_dtl
WHERE ( hd_clckck_dtl.sendno=hd_clckck.sendno )
GROUP BY tlno,bpno
) as send
WHERE ( hd_sctzd_dtl.tlno = hd_sctzd.tlno )
and hd_sctzd_dtl.bpno *=send.bpno and hd_sctzd_dtl.tlno *=send.tlno
ORDER BY hd_sctzd.scno,hd_sctzd_dtl.tlno,hd_sctzd_dtl.bpno ASC
如果返回hd_sctzd_dtl.totalqty = sqty 或者hd_sctzd_dtl.totalqty <> sqty的结果集???谢谢!
------解决方案--------------------原來是*=的問題。
try
--hd_sctzd_dtl.totalqty <> sqty
SELECT hd_sctzd_dtl.tlno,
hd_sctzd_dtl.perqty,
hd_sctzd_dtl.totalqty,
hd_sctzd_dtl.unitno,
hd_sctzd_dtl.unitnocims,
hd_sctzd_dtl.bpno,
hd_sctzd.scno,
hd_sctzd.itemno,
isnull(send.sendqty,0) as sqty
FROM hd_sctzd_dtl
Inner Join
hd_sctzd
On hd_sctzd_dtl.tlno = hd_sctzd.tlno
Left Join
(
SELECT tlno,bpno,sum(sqty) as sendqty
from hd_clckck,hd_clckck_dtl
WHERE ( hd_clckck_dtl.sendno=hd_clckck.sendno )
GROUP BY tlno,bpno
) as send
On hd_sctzd_dtl.bpno =send.bpno and hd_sctzd_dtl.tlno =send.tlno
where hd_sctzd_dtl.totalqty != isnull(send.sendqty,0) --
ORDER BY hd_sctzd.scno,hd_sctzd_dtl.tlno,hd_sctzd_dtl.bpno ASC