联合查询的问题: 从3张表中查询数据
以前请教过从2张表中查询数字: 即从入库表和销售表中查询目前的库存, 是按照以下的方法:
SELECT T.[产品编号], 产品表.产品名称,sum(产品数量) AS 剩余数量
FROM
(
select [产品编号],产品数量
from 入库表
union all
select [产品编号],销售数量 * (-1) as 数量
from 销售表
) AS T
inner join 产品表 on T.产品编号=产品表.产品编号
GROUP BY T.[产品编号],产品表.产品名称
现在要复杂一点,要从3张表中查:
1. 入库表: 产品编号,产品数量;
2. 销售表: 产品编号,销售数量;
3. 出库表: 产品编号, 出库数量;
希望得到的结果是:
目前的实际库存量 = 产品数量(入库表)-销售数量(销售表)-出库数量(出库表)
谢谢帮助!
------解决方案----------------------多加一个union all即可
SELECT T.[产品编号], 产品表.产品名称,sum(产品数量) AS 剩余数量
FROM
(
select [产品编号],产品数量
from 入库表
union all
select [产品编号],销售数量 * (-1) as 数量
from 销售表
union all
select [产品编号],出库数量 * (-1) as 数量
from 出库表
) AS T
inner join 产品表 on T.产品编号=产品表.产品编号
GROUP BY T.[产品编号],产品表.产品名称