联合查询应用-合并两张表为一张表
时 间:2011-11-17 08:45:20
作 者:风行 ID:16058 城市:江阴
摘 要:前不久
朋友使用access数据库时候
遇到的问题,
利用SQL语句轻松解决之。
问题简化如下:
正 文:
已知表A结构
=================================
ID product price provider
=================================
表B结构
=================================
ID product color
=================================
表A中的存在的数据 表B中可能没有,例如表A中可能有记录
=================================
ID product price provider
1 sock 23 smartShop
=================================
但表B中却没有ID=1 product=sock的记录;
同样表B中存在的数据表A中也可能没有,例如表B中可能有记录
=================================
ID product color
2 dress red
=================================
但表A中却找不到ID=2 product=dress的记录;
对于上边两种情况,要求表合并后的结果如下:
=================================
ID product price provider color
1 sock 23 smartShop
2 dress red
==================================
如果表A中存在的数据,表B中也存在则直接合并,例如:
表A:
=================================
ID product price provider
3 T-shirt 12 Mall
=================================
表B:
=================================
ID product color
3 T-shirt white
=================================
合并后为:
=================================
ID product price provider color
3 T-shirt 12 Mall white
==================================
最后要求合并后的表无重复记录。
思路:考虑到合并表,首先肯定要用UNION关键字,UNION的作用是将两个结构相同的表进行合并,
所以我们接下来考虑要构造这两个结构相同的表。连接表肯定需要JOIN语句,又根据要求知道表A和表B分别含有
彼此没有的记录,所以使用表A与表B分别进行左,友连接;或者用表A与表B进行左连接,再用表B与表A进行左连接;
然后用连接后得到的两个表进行UNION即可得到我们最终想要的结果集。
最终的SQL语句如下:
select A.ID as ID, A.product as Product, price, provider, color from A left join B on A.ID=B.ID
UNION
select B.ID as ID,B.product as Product, price, provider, color from A right join B on A.ID=B.ID
Access软件网QQ交流群 (群号:483923997) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 【Access窗体导出PDF】...(04.08)
- 【Access窗体导出PDF】...(04.07)
- Access两种方式实现即时更...(03.01)
- Access隐藏与显示lacc...(01.12)
- 【Access高效办公】将每个...(12.23)
- Access21点游戏源代码(12.13)
- 【Access窗体导出Exce...(11.15)
- 【Access开发】Acces...(11.14)
- 通过Access宏录入数据到选...(11.10)
学习心得
最新文章
- Access学习笔记--用Acce...(04.19)
- 【Access重复项查询示例】将A...(04.17)
- Access快速开发平台企业版--...(04.16)
- 【Access模块示例】通过模块代...(04.15)
- Access查询里面分组合计功能添...(04.13)
- 【Access删除查询】删除数字最...(04.12)
- 显示文件夹中所有文件的修改时间(04.11)
- 铁路工程管理系统;铁路工程管理小程...(04.10)
- 【Access查询示例】怎么将两个...(04.09)
- 【Access窗体导出PDF】Ac...(04.08)