Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

联合查询SQL语句怎么写

汪国群  发表于:2009-08-08 21:14:38  
复制

我有4个表,期初,购入,调拨,报废

期初表的内容:日期,部门,商品编码,商品名称,期初数量;

购入表的内容:日期,部门,商品编码,商品名称,购入数量;

报废表的内容:日期,部门,商品编码,商品名称,报废数量;

调拨表的内容:日期,调入部门,调出部门,商品编码,商品名称,调入数量;

 

请问做1个联合查询SQL语句怎么写

我想要的结果:

日期,部门,商品编码,商品名称,期初数量,购入数量,调入数量,调出数量,报废数量

 

然后根据联合查询再做个查询部门库存的查询

 

跪求高手帮忙,

点击下载此附件

 

Top
黎红军 发表于:2009-08-08 23:23:24

1.SELECT 日期,部门,商品编码,商品名称,期初数量,0 as 购入数量,0 as 调入数量,0 as 调出数量,0 as 报废数量
FROM 期初
union all
SELECT 日期,部门,商品编码,商品名称,0 as 期初数量,购入数量,0 as 调入数量,0 as 调出数量,0 as 报废数量
FROM 购入
union all
SELECT 日期,调入部门 as 部门,商品编码,商品名称,0 as 期初数量,0 as 购入数量,调拨数量 as 调入数量,0 as 调出数量,0 as 报废数量
FROM 调拨
union all
SELECT 日期,调出部门 as 部门,商品编码,商品名称,0 as 期初数量,0 as 购入数量,0 as 调入数量,(-[调拨数量]) as 调出数量,0 as 报废数量
FROM 调拨
UNION ALL SELECT 日期,部门,商品编码,商品名称,0 as 期初数量,0 as 购入数量,0 as 调入数量,0 as 调出数量,报废数量
FROM 报废;

 

2.SELECT 查询1.部门, 查询1.商品编码, 查询1.商品名称, Sum(查询1.期初数量) AS 期初数量之总计, Sum(查询1.购入数量) AS 购入数量之总计, Sum(查询1.调入数量) AS 调入数量之总计, Sum(查询1.调出数量) AS 调出数量之总计, Sum(查询1.报废数量) AS 报废数量之总计, Sum(([期初数量]+[购入数量]+[调入数量]+[调出数量]-[报废数量])) AS 库存
FROM 查询1
GROUP BY 查询1.部门, 查询1.商品编码, 查询1.商品名称
HAVING (((查询1.部门)=[请输入部门,如:赤岗店]));
未尽事项请自行完善或继续交流。

 



汪国群 发表于:2009-08-08 23:41:55

谢谢版主的大力帮助,请问如果数据多了的时候,查询是不是很慢呢



西南风王 发表于:2009-08-09 01:21:25

像这样做联合查询,若是数据量较大时,运行速度会很慢。可以先建一个你想要的结果表:

日期,部门,商品编码,商品名称,期初数量,购入数量,调入数量,调出数量,报废数量,然后用追加和更新查询把相关表的数据转入你的结果表即可,对于进、销、存、调采取这种方式速度较快



汪国群 发表于:2009-08-09 09:54:20

请热心大哥帮忙做个更新查询和追加查询可以吗?我不太熟,不敢做

点击下载此附件

汪国群 发表于:2009-08-09 10:38:05

按照3楼大哥的说法,我自己试着做了个追加查询和更新查询,不知道对不对?

我有个新问题,就是在业务表中(如:入库,期初,调拨,报废表)中新增业务时,更新和追加查询表中的数据并没有变动啊,如果我想要查询库存数据,应用哪个表呢?

点击下载此附件

总记录:5篇  页次:1/1 9 1 :