首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Access >

联合查询的有关问题: 从3张表中查询数据

2012-02-10 
联合查询的问题: 从3张表中查询数据以前请教过从2张表中查询数字:即从入库表和销售表中查询目前的库存,是

联合查询的问题: 从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.[产品编号],产品表.产品名称

热点排行