表头 bh:id, billno, dept_out, dept_in
明细 bi: id, headid, prodid, deptid, qty
有数据如下:
bh ----------------------------------------------
id billno dept_out dept_in
123 xx0001 a01 b02
bi ----------------------------------------------
id headid prodid deptid qty
aa1 123 p1 a01 10
aa2 123 p2 a01 20
aa3 123 p1 b02 15
aa3 123 p3 b02 30
创建视图 view1,想得到这样的结果
==================================================
billno dept_out dept_in prodid qty_out qty_in
--------------------------------------------------
xx001 a01 b02 p1 10 0
xx001 a01 b02 p2 20 15
xx001 a01 b02 p3 0 30
请贴上视图的 sql 语句
------解决思路----------------------
你参考一下,
CREATE VIEW VIEWNAME
AS
SELECT A.billno,A.dept_out,A.dept_in,B.prodid
,ISNULL(SUM(CASE WHEN A.dept_out=B.deptid THEN B.qty END),0)qty_out
,ISNULL(SUM(CASE WHEN A.dept_in=B.deptid THEN B.qty END),0)qty_in
FROM bh A LEFT JOIN bi B ON A.id=B.headid
GROUP BY
A.billno,A.dept_out,A.dept_in,B.prodid
你的所的结果样式,15应该在第一行