多表联合查询

phhui 2010-09-08 04:52:16
三个表A,B,C
A
a columnA1 columnA2
B
a columnB1 columnB2
C
a columnC1 columnC2
要查询columnA1,columnB1,columnC1并合并到一起
条件是A.a=B.a A.a=C.a
如:
A
0 aa bb cc
1 ab bb cc
2 ac bb cc
3 ad bb cc
4 ae bb cc
B
0 ba bb cc
1 bb bb cc
2 bc bb cc
3 bd bb cc
4 be bb cc
C
0 ca bb cc
1 cb bb cc
2 cc bb cc
3 cd bb cc
4 ce bb cc
结果:
0 aa ba ca
1 ab bb cb
2 ac bc cc
3 ad bd cd
4 ae be ce
...全文
62 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
luyhuiO_O 2010-09-08
  • 打赏
  • 举报
回复
这里不能用 UNION , 因为UNION只能合并值 不能合并字段
select a.columnA1,b.columnB1,c.columnC1 from a,b ,c where A.a=B.a and B.a=C.a
luyhuiO_O 2010-09-08
  • 打赏
  • 举报
回复
这里不能用 UNION , 因为UNION只能合并值 不能合并字段
select a.columnA1,b.columnB1,c.columnC1 from a,b ,c where A.a=B.a and B.a=C.a
sanny_txx 2010-09-08
  • 打赏
  • 举报
回复
你是用union all 吗?这样不行?
[Quote=引用 2 楼 phhui 的回复:]
好像应该是
select A.columnA1,B.columnB1 from A,B where A.a=B.a
select A.columnA1,C.columnC1 from A,C where A.a=C.a
然后两个结果合并
我直接在中间加了union不行
[/Quote]
laowang134 2010-09-08
  • 打赏
  • 举报
回复
就是1楼的意思了!~union 是将两张表连接起来!~。。就是将表的内容添加到上面的表下面!~
phhui 2010-09-08
  • 打赏
  • 举报
回复
好像应该是
select A.columnA1,B.columnB1 from A,B where A.a=B.a
select A.columnA1,C.columnC1 from A,C where A.a=C.a
然后两个结果合并
我直接在中间加了union不行
「已注销」 2010-09-08
  • 打赏
  • 举报
回复
LZ是这意思么?
select A.a, A.columnA1 ,B.columnB1,C.columnC1
FROM A,B,C
WHERE A.a=B.a
AND A.a=C.a

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧