跨表查询,表A中有3个字段都对应表B中同一个字段,请问怎么写SQL语句?谢谢

表Aidcontent1content2content310010020032003001002表Bc_idcontent001上海002北京003天津请问在A中根据id... 表A
id content1 content2 content3
1 001 002 003
2 003 001 002
表B
c_id content
001 上海
002 北京
003 天津
请问在A中根据id查询到某一行,再根据content1,content2,content3去查表B,返回3个城市名,怎么写SQL语句?谢谢!
展开
 我来答
apu510064
2011-08-15 · TA获得超过964个赞
知道小有建树答主
回答量:1634
采纳率:55%
帮助的人:926万
展开全部
select a.id,b1.content as name1,b2.content as name2,b3.content as name3 from
表A a left join
表B b1 on b1.c_id=a.content1 left join
表B b2 on b2.c_id=a.content2 left join
表B b3 on b3.c_id=a.content3 left join
更多追问追答
追问
select a.id,(select content from 表B where c_id=a.content1) as content1,
(select content from 表B where c_id=a.content2) as content2,
,(select content from 表B where c_id=a.content3) as content3
from 表A
这样也能得出同样的结果,请问和你的答案有什么区别?是效率区别吗?非常谢谢啊!
追答
性能有差别,不过数据量不大也没关系
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huangshuan1
2011-08-15 · TA获得超过391个赞
知道小有建树答主
回答量:749
采纳率:0%
帮助的人:361万
展开全部
select B.content from B where B.C_id in (select A.content1,A.content2,A.content3 from A
where A.id = "斗拦弊你空族输入衡源的ID")
追问
我主要是查表A,表A中用20多个字段需要查询,其中三个是表B中的字段
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0f896a50c
2011-08-15 · 超过33用户采纳过TA的回答
知道答主
回答量:116
采纳率:0%
帮助的人:76.3万
展开全部
做个转换函数就成,把字典做成函数,然后查表时转换就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式