我有一张临时桌子。
col_1 col_2 col_3 col_4
ABC B01 10 5
ABC B01 77 5
ABC B03 30 7
ABC B05 50 11
ABC B05 88 11
DEF B05 50 50
DEF B05 88 50
DEF B06 66 50
A01 B02 20 0
A01 B04 40 0
A02 B02 99 0
和这个助手表:
ID1 ID2
ABC A01
DEF A02
我想做什么。如果临时表中col_1中的值与辅助表中的ID2匹配,则值将更改为辅助表中的ID1。如何在select
?
所以,当我选择(SELECT * FROM temporary
)时。这是结果:
col_1 col_2 col_3 col_4
ABC B01 10 5
ABC B01 77 5
ABC B03 30 7
ABC B05 50 11
ABC B05 88 11
DEF B05 50 50
DEF B05 88 50
DEF B06 66 50
ABC B02 20 0
ABC B04 40 0
DEF B02 99 0
有可能吗?谢谢你的帮助
NB:
帮助程序表中有很多值。不只是两排。
答案 0 :(得分:0)
左连接案例
select case
when h.id2 = tt.col_1 then h.id1
else tt.col_1
end as col_1,
col_2,col_3,col_4
from temporary_table tt
left join helper h on tt.col_1 = h.id2