请教plsql问题:
表A
车次 出发城市 目的城市
K56 SZ GZ
K57 ZH BJ
表B
城市二字码 城市中文
SZ 深圳
GZ 广州
ZH 珠海
BJ 北京
编码得到表C如下:
姓名 路程
K56 深圳-广州
K57 珠海-北京
select a.车次 as 姓名 ,a.城市中文||'-'||b.城市中文 as 路程 from (
select 表A.车次,表B.城市中文 from 表A inner join 表B on 表A.出发城市 = 表B.二字码) a
left join
(select 表A.车次,表B.城市中文 from 表A inner join 表B on 表A.目的城市 = 表B.二字码) b
on a.车次 = b.车次
select a.cc,b1.name,b2.name from A a left join B b1 on b1.cs=a.cfcs left join B b2 on b2.cs=a.mdcs
select 车次,F || '-' || T FROM (
select 车次,(select 城市中文 from 表B where 表B.城市二字码=出发城市) F
,(select 城市中文 from 表B where 表B.城市二字码=目的城市) T FROM 表A
)
我还以为是什么高深的问题呢? 这是简单的字段合并 || ,
select x.车次 as 车次,concat(x.城市中文,'-',y.城市中文) as 始末站
from
(select a.车次,b.出发城市中文 from 表A a join 表B b where a.出发城市=b.城市) x
left join
(select a.车次,b.结束城市中文 from 表A a join 表B b where a.结束城市=b.城市) y
on x.车次 = y.车次;
还是楼一牛呀。