+ -
当前位置:首页 → 问答吧 → Access使用联合查询的语法

Access使用联合查询的语法

时间:2011-01-15

来源:互联网

大大平安!

附件有2个文件, 库存1.mdb是表达式出错需要修改查询的文件, 库存2.mdb内的物料库存查询能返回正确的结果, 但这个物料库存查询是基于它上面的那2个查询结果来生成的.
问题: 如何在库存1.mdb文件内用联合查询实现库存2.mdb的物料库存的查询效果? 就是说不依赖于其它查询返回的数据.
==>库存1.mdb文件内的查询返回的所有产品的库存都是相同的, 明显有错误.
如果需要输入期初日期和期末日期, 请参考期初日期2009-07-01, 期末日期2009-08-01.
请大大指教! 谢谢……

[ 本帖最后由 flying008 于 2011-1-15 11:01 编辑 ]

附件

库存1_待修改.rar(48.03 KB)

2011-1-15 10:03, 下载次数: 4

库存2.rar(58.96 KB)

2011-1-15 10:03, 下载次数: 4

作者: flying008   发布时间: 2011-01-15

没有太看懂楼主的意思,但库存2的查询:物料盘存,可以这样写:
SELECT 期初数据.物料编号, 期初数据.数量 AS 期初, 期末数据.数量 AS 期末
FROM (SELECT 进出帐.物料编号, Sum(进出帐.数量) AS 数量 FROM 进出帐 INNER JOIN 物料明细 ON 进出帐.物料编号 = 物料明细.物料编号 WHERE (((进出帐.日期) Between #12/1/2007# And [期初日期])) GROUP BY 进出帐.物料编号)  AS 期初数据 INNER JOIN (SELECT 进出帐.物料编号, Sum(进出帐.数量) AS 数量 FROM 进出帐 INNER JOIN 物料明细 ON 进出帐.物料编号 = 物料明细.物料编号 WHERE (((进出帐.日期) Between #12/1/2007# And [期末日期])) GROUP BY 进出帐.物料编号)  AS 期末数据 ON 期初数据.物料编号 = 期末数据.物料编号
GROUP BY 期初数据.物料编号, 期初数据.数量, 期末数据.数量;
就可以删除其他两个查询。
不知道这对楼主有无帮助?

[ 本帖最后由 zez 于 2011-1-15 10:33 编辑 ]

附件

库存2.rar(59.55 KB)

2011-1-15 10:33, 下载次数: 2

作者: zez   发布时间: 2011-01-15

谢谢大大, 正是如此!
因为不想借助其它的查询结果来生成想要的联合查询, 所以才有此问, 我要仔细体会其中的语法了,
这段查询语句真的很给力! 大大的速度让人佩服, 谢谢您!

[ 本帖最后由 flying008 于 2011-1-15 11:03 编辑 ]

作者: flying008   发布时间: 2011-01-15

大大能讲解一下这个查询语句的步骤做法吗?
我直接COPY内容想新建一个查询, 结果提示出错, 缺少或不正确的括号?

[ 本帖最后由 flying008 于 2011-1-15 13:59 编辑 ]

附件

SQL视图.jpg(75.1 KB)

2011-1-15 13:59

作者: flying008   发布时间: 2011-01-15