可能有类似的问题,但我还没有找到答案。
我在下面有桌子
id | lang_code | name
1010522747 | CHT | Si Li Ai Guang You Zhi Yuan
1010522747 | ENG | Si Li Ai Guang Kindergarten
1010522758 | CHT | Tai Bei Shi Li Wen Hu Guo Min Xiao Xue
1010522758 | ENG | Tai Bei Shi Li Wen Hu Elementary School
1010522760 | CHT | Xiang He Yao Ju
1010522760 | ENG | Xiang He Pharmacy
1010522754 | CHT | Guan Shan De Bian Dang
1010522758 | CHT | Tai Bei Shi Li Wen Hu Guo Min Xiao Xue
基本上,这些数据是关于台湾当地商店的名称的,并非所有行都有英文或音译名称。 (换句话说,在某些情况下,只有音译名称,而没有英文和音译名称)
我想要的是 我希望使用id字段可以轻松加入行。 例如,
这就是我到目前为止所做的代码。
select id, lang_code, (case when lang_code = 'ENG' then name_dp end) as name_en,
(case when lang_code = 'CHT' then name_dp end) as name_trans
结果在下面
id | lang_code | name_en | name_trans
1010522747 | CHT | NULL | Si Li Ai Guang You Zhi Yuan
1010522747 | ENG |Si Li Ai Guang Kindergarten | NULL
1010522749 | CHT | NULL | A Cai Yu Chi Rou Geng
1010522750 | CHT | NULL | Ju Jiang Dian Nao
1010522754 | CHT | NULL | Guan Shan De Bian Dang
1010522758 | CHT | NULL | Tai Bei Shi Li Wen Hu Guo Min Xiao Xue
1010522758 | ENG | Tai Bei Shi Li Wen Hu Elementary School | NULL
我希望结果与下面相同。
id | name_merged
1010522747 | Si Li Ai Guang Kindergarten | Si Li Ai Guang You Zhi Yuan
1010522749 | A Cai Yu Chi Rou Geng
1010522750 | Ju Jiang Dian Nao
1010522754 | Guan Shan De Bian Dang
1010522758 | Tai Bei Shi Li Wen Hu Elementary School | Tai Bei Shi Li Wen Hu Guo Min Xiao Xue
答案 0 :(得分:0)
对不起,我刚刚提出了一个非常简单的解决方案“自我加入”
这是代码
select a.poi_id, coalesce(a.name_dp, b.name_dp) as name_merged, a.name_dp as name_en, b.name_dp as name_trans
from MYTABLE as a
left join MYTABLE as b
on a.id = b.id and b.lang_code = 'CHT'
where a.lang_code = 'ENG'