设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 8337|回复: 17
打印 上一主题 下一主题

[查询] 跪求多表合并SQL代码

[复制链接]
跳转到指定楼层
1#
发表于 2011-6-20 15:53:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是ACCESS 2007,现在要把两个表合并,具体如下:
表1: 产品种类, 产品名称, 客户名称, 目的国家, 已出货数量
表2:产品种类,产品名称,客户名称,预测数量
现在要把表1和表2合并成表3,做成字段如下:
表3:产品种类,产品名称,客户名称,目的国家,已出货数量,预测数量
其中表1有的一些产品表2不一定有,表2有的表1也不一定有,如果都有的则数据合并,如果没有则全部呈列,我写的SQL代码是:

Select 表1.产品种类 as 产品种类,  表1.产品型号 as 产品型号,  表1.客户名称 as 客户名称, 目的国家, 已出货数量, 预测数量 from 表1 left join 表2 on 表1.产品型号=表2.产品型号
Union
Select 表2.产品种类 as 产品种类, 表2.产品型号 as 产品型号, 表2.客户名称 as 客户名称, 目的国家, 已出货数量, 预测数量 from 表1 right join 表2 on 表1.产品型号=表2.产品型号

运行后郁闷的是结果中表1的数据出现了重复.
例:
第1条记录:产品种类1, 产品名称1, 客户名称1, 目的国家1, 已出货数量1,预测数量0
第2条记录:产品种类1,产品名称1,客户名称1,目的国家1,已出货数量1,预测数量1
这2条记录重复了,而表2的数据只显示在其只1条记录里.

不知道究竟是哪里出了问题,我是ACCESS初学者,求各位路过的大虾帮忙啊!~~~

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享分享 分享淘帖1 订阅订阅
2#
发表于 2011-6-20 16:14:32 | 只看该作者
yiyucoco 发表于 2011-6-20 15:53
我用的是ACCESS 2007,现在要把两个表合并,具体如下:
表1: 产品种类, 产品名称, 客户名称, 目的国家, 已出货 ...

1、做以下联合查询:
Select 产品种类,产品型号,客户名称, 目的国家, 已出货数量, 0 as 预测数量 from 表1
Union All
Select 产品种类,产品型号,客户名称, "" as 目的国家, 0 as 已出货数量, 预测数量 from 表2
2、以以上查询为基础进行分组查询后做生成表查询即可。
3#
 楼主| 发表于 2011-6-20 16:52:34 | 只看该作者
第1步已经完成.但分组查询怎么做?
4#
发表于 2011-6-20 16:54:40 | 只看该作者
本帖最后由 roych 于 2011-6-20 17:01 编辑

假定联合查询命名为查询1,以查询1为基础做分组查询就可以了。
例如:
Select 产品种类,产品型号,客户名称, 目的国家, 已出货数量,  预测数量 from 查询1 group by 产品种类,产品型号,客户名称, 目的国家, 已出货数量,  预测数量
5#
 楼主| 发表于 2011-6-20 17:01:06 | 只看该作者
呃...不好意思.我已经做出来查询1了.但是我不明白什么是分组查询?
查询里有选择,生成表,追加,更新,交叉表,删除,联合,传递,数据定义,但是没有分组查询啊!
应该怎么做呢?
6#
发表于 2011-6-20 17:04:01 | 只看该作者
本帖最后由 todaynew 于 2011-6-20 17:05 编辑
yiyucoco 发表于 2011-6-20 16:52
第1步已经完成.但分组查询怎么做?


1、用“使用向导创建查询”---将该联合查询所有字段导入,打开查询设计视图;
2、点击∑符号做分组查询,在第三行你能看见当前均为“分组”。将“已出货数量”和“预测数量”的分组通过下拉菜单改变为“总计”;
3、保持查询的设计视图,点击主菜单--查询--生成表查询,根据提示建立一个生成表查询,关闭查询设计视图;
4、点击该生成表查询,建立一个新表。
7#
发表于 2011-6-20 17:07:06 | 只看该作者
回复 yiyucoco 的帖子

设计模式下,点击求和符号(如图所示,右上角),即默认为分组了:

此外,LZ不用跪求的。Office中国是个很和睦的论坛。回复应该算是比较快的。不过还是建议LZ先从书籍上逐步学习,至少清楚工具都在哪,我们才好帮助您。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
8#
 楼主| 发表于 2011-6-20 17:16:24 | 只看该作者
呃..版主的回答好官方...

谢谢.按大家说的操作过一遍了.但有新的问题.
因为表1有目的国家的字段,而表2没有目的国家字段.按todaynew教的方法联结表1和表2了之后,发现出来的结果会变成2条数据.
即1条是目的国家有内容的,另1条是目的国家为空的.而进行完第2步和3步后并没有将这2条记录合并,仍然还是显示为2条记录,有办法解决这个问题吗?
9#
 楼主| 发表于 2011-6-20 17:19:24 | 只看该作者
啊哈哈哈~~我解决了.我把目的国家设为取最大值数值就合并了.

我没有看过相关书籍,全是自己看F1说明和网上百度自学的.大家有好的书箱介绍吗,最好是可以网购的,不然我也不知道去哪里买.

再次谢谢大家~
10#
 楼主| 发表于 2011-6-20 17:22:05 | 只看该作者
不对.如果取最大值的话,当产品种类和产品名称一样,但目的国家有二条记录的时候,就只有一条记录了.我的办法不行.有别的办法吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-28 12:37 , Processed in 0.097566 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表