怎么通过C表关联A、B表,找出A、B表中相同的数据

lotuslearner 2006-11-30 09:15:08
有3个表,其中A表中的数据有:
1.中国 北京
2.中国 上海
3.日本 东京
B表中的数据有:
1.zhongguo beijing
2.zhongguo guangzhou
C表中的数据有:
1.中国 zhongguo
2.北京 beijing

现在想通过C表关联A、B表,找出A、B表中相同的数据,如上面的结果要找出:
中国 北京 zhongguo beijing
其中,中国 北京为A表内容,zhongguo beijing 为B表内容。

希望大家能帮我解决这个问题,谢谢!
...全文
177 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
abc_sk 2006-11-30
  • 打赏
  • 举报
回复
,
lotuslearner 2006-11-30
  • 打赏
  • 举报
回复
谢谢,我试一下,解决了就给分。
bugchen888 2006-11-30
  • 打赏
  • 举报
回复
SELECT a.col1, a.col2, b.col1, b.col2
FROM A a, B b, C c1, C c2
WHERE a.col1=c1.col1
AND a.col2=c2.col1
AND b.col1=c1.col2
AND b.col2=c2.col2
caixia615 2006-11-30
  • 打赏
  • 举报
回复
up,学习
zicxc 2006-11-30
  • 打赏
  • 举报
回复
--测试

declare @A table (
col1 int,
col2 nvarchar(10),
col3 nvarchar(10)
)
insert @A select
1,N'中国', N'北京'
union all select
2,N'中国', N'上海'
union all select
3,N'日本', N'东京'

declare @B table (
col1 int,
col2 nvarchar(10),
col3 nvarchar(10)
)
insert @B select
1,'zhongguo', 'beijing'
union all select
2,'zhongguo', 'guangzhou'

declare @C table (
col1 int,
col2 nvarchar(10),
col3 nvarchar(10)
)
insert @C select
1,N'中国', 'zhongguo'
union all select
2,N'北京' ,'beijing'


select a.col2,a.col3,b.col2,b.col3
from @a a,@b b,@c c1,@c c2
where a.col2=c1.col2
and a.col3=c2.col2
and b.col2=c1.col3
and b.col3=c2.col3

--结果
col2 col3 col2 col3
---------- ---------- ---------- ----------
中国 北京 zhongguo beijing

(所影响的行数为 1 行)


zicxc 2006-11-30
  • 打赏
  • 举报
回复
select a.col2,a.col3,b.col2,b.col3
from a,b,c c1,c c2
where a.col2=c1.col2
and a.col3=c2.col2
and b.col2=c1.col3
and b.col3=c2.col3

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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