WHERE CONVERT(CHAR(10),ISNULL(OutDate,'2009-07-22'),121)>='2009-07-22' and CONVERT(CHAR(10),ISNULL(OutDate,'2009-07-22'),121) <='2009-07-22' GROUP BY a.OrganID,a.OrganName) h ON g.OrganID=h.OrganID 这个where子句后加上 union all select a.OrganID,a.OrganName, 0, 0.0, 0, 0, 0.0, 0.0 from a where CONVERT(CHAR(10),ISNULL(OutDate,'2009-07-22'),121)<'2009-07-22' or CONVERT(CHAR(10),ISNULL(OutDate,'2009-07-22'),121) >'2009-07-22'
漏了半句,再接上GROUP BY a.OrganID,a.OrganName
不管有没有都要显示的话,用full join得了
SELECT A.品名,B.入库,B.出库FROM TB ALEFT JOIN (SELECT * FROM TB WHERE 入库=0 AND 出库=0) AS BON A.品名=B.品名
CONVERT(CHAR(10),ISNULL(OutDate,'2009-07-22'),121)>='2009-07-22' and CONVERT(CHAR(10),ISNULL(OutDate,'2009-07-22'),121) <='2009-07-22'
GROUP BY a.OrganID,a.OrganName) h ON g.OrganID=h.OrganID 这个where子句后加上
union all
select a.OrganID,a.OrganName, 0, 0.0, 0, 0, 0.0, 0.0 from a
where CONVERT(CHAR(10),ISNULL(OutDate,'2009-07-22'),121)<'2009-07-22' or CONVERT(CHAR(10),ISNULL(OutDate,'2009-07-22'),121) >'2009-07-22'
因为是 有条件的。没条件的可以