请教两个表关联查询sql
请教高手,用select实现以下功能:
物资入库表:
单据编号 业务类型 物资编号 数量
1 A 001 10
2 B 001 8
物资出库表:
单据编号 业务类型 物资编号 数量
1 A 001 3
2 B 001 5
想要以业务类型和物资编号为统计依据,实现以下结果:
业务类型 物资编号 入库数量 出库数量
A 001 10 3
B 001 8 5
------解决方案--------------------select A.业务类型,A.物资编号,A.入库数量,B.出库数量
from 物资入库表 A,物资出库表 B where A.单据编号=B.单据编号
------解决方案--------------------select A.业务类型,A.物资编号,A.入库数量,B.出库数量
from 物资入库表 A left join
物资出库表 B on B.业务类型=A.业务类型 and A.物资编号 = B.物资编号
------解决方案--------------------补充。
建议你建立一个记录表,在做入库审核的时候,将关键的字段插入到这个记录表中
在做出库的时候,将关键的字段也插入到这个表中。
具体表的格式可以是这样:
业务类型 物资编号 交易日期 入出 数量
A 001 2007-09-10 1 10
B 001 2007-09-20 1 8
A 001 2007-09-14 -1 3
B 001 2007-09-13 -1 5
这样的话,无论是统计还是记录都一目了然了
------解决方案--------------------select A.业务类型,A.物资编号,A.入库数量,B.出库数量
from 物资入库表 A,物资出库表 B where A.业务类型 =B.业务类型 and A.物资编号=B.物资编号