sql查询一条记录 多个字段 对应另一个表一个字段的查询语句如何写

查询样例数据和目标数据如下图麻烦帮忙写下... 查询样例数据和目标数据如下图 麻烦帮忙写下 展开
 我来答
移动引领生活
推荐于2016-03-09 · TA获得超过1053个赞
知道小有建树答主
回答量:624
采纳率:0%
帮助的人:346万
展开全部
CREATE TABLE tb1
( 航班号 VARCHAR(20),
起飞时间 VARCHAR(20),
降落世间 VARCHAR(20),
航站1 VARCHAR(20),
航站2 VARCHAR(20),
航站3 VARCHAR(20)

INSERT INTO  tb1 VALUES ('CZ1508','1121','1322','CGQ','SHE','PEK');
INSERT INTO  tb1 VALUES ('CZ1605','1233','1544','CGQ','PEK','CGO');
CREATE TABLE tb2
(
航站代码 VARCHAR(20),
航站中文名称 VARCHAR(20),
航站英文名称 VARCHAR(20),
)
INSERT INTO  tb2 VALUES ('CGQ','长春','changchun');
INSERT INTO  tb2 VALUES ('SHE','沈阳','shenyang');
INSERT INTO  tb2 VALUES ('PEK','北京','beijing');
INSERT INTO  tb2 VALUES ('CGO','郑州','zhengzhou');
SELECT a.航班号,b.航站中文名称 AS 航站1中文名称,b.航站英文名称 AS 航站1英文名字,
c.航站中文名称 AS 航站2中文名称,c.航站英文名称 AS 航站2英文名字,
d.航站中文名称 AS 航站2中文名称,d.航站英文名称 AS 航站2英文名字
 FROM tb1 a LEFT JOIN tb2 b ON a.航站1=b.航站代码 
LEFT JOIN  TB2 c ON a.航站2=c.航站代码 LEFT JOIN TB2 d ON a.航站3=d.航站代码
匿名用户
推荐于2018-05-10
展开全部
给个例子,可能还可以优化,
其实这种复杂逻辑最好不要用sql去做,而是sql只是取出数据,逻辑在代码层做。
SELECT
t.航班号, t1.中文名, t1.英文名, t2.中文名, t2.英文名, t3.中文名, t3.英文名
FROM
表1 t,
(select 表1.航班号, 表2.中文名, 表2.英文名 from 表1, 表2 where 表1.航站1 = 表2.航站代码) t1,
(select 表1.航班号, 表2.中文名, 表2.英文名 from 表1, 表2 where 表1.航站2 = 表2.航站代码) t2,
(select 表1.航班号, 表2.中文名, 表2.英文名 from 表1, 表2 where 表1.航站3 = 表2.航站代码) t3
WHERE
t.航班号 = t1.航班号 and t.航班号 = t2.航班号 and t.航班号 = t3.航班号
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
法拉克的
2018-05-10 · TA获得超过1426个赞
知道小有建树答主
回答量:2097
采纳率:74%
帮助的人:139万
展开全部
select 航班号,
T1.航站中文名 as 航站1中文名,T1.航站中文名 as 航站1英文名,
T2.航站中文名 as 航站2中文名,T2.航站中文名 as 航站2英文名,
T3.航站中文名 as 航站3中文名,T3.航站中文名 as 航站3英文名
from 表1 T,表2 T1,表2 T2, 表2 T3
where
T.航站1 = T1.航站代码
and T.航站2 = T2.航站代码
and T.航站3 = T3.航站代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MjU0KzE
2018-05-10 · TA获得超过313个赞
知道小有建树答主
回答量:488
采纳率:73%
帮助的人:89.4万
展开全部
SELECT a.航班号,
b.航站中文名 as 航站1中文名,b.航站英文名 as 航站1英文名,
c.航站中文名 as 航站2中文名,c.航站英文名 as 航站2英文名,
d.航站中文名 as 航站3中文名,d.航站英文名 as 航站3英文名
FROM TEST.表1 a join TEST.表2 b
on a.航站1=b.航站代码 join TEST.表2 c
on a.航班2=c.航站代码 join TEST.表2 d
on a.航站3=d.航站代码
(多表查询肯定没错,但有点繁琐,凑合着用吧~)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sonkwl谈美食
2018-05-10 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:170
采纳率:60%
帮助的人:38.3万
展开全部
代码里面处理吧,不然要写3个链接查询,影响数据库查询效率
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式