我在2个表之间执行左连接。假设两个表都有id,name和sal等列,我需要获取匹配的记录和不匹配的记录。 jon键在这里是id。对于不匹配的记录,每列的sal列应替换为90000,90001,90002等。因此,在执行连接操作后,我将能够通过sal列识别不匹配的记录。有人可以帮我查询吗? 谢谢
答案 0 :(得分:2)
select ta.id,ta.name,
coalesce(tb.sal,
(row_number() over
(partition by tb.sal order by tb.id)) + 89999) sal
from ta left join tb on ta.id = tb.id
答案 1 :(得分:1)
select
ta.id,
ta.name,
ISNULL(tb.sal, ROW_NUMBER() over (partition by tb.sal order by ta.id) + 89999)
from table_a ta
left join table_b tb ON tb.id = ta.id
order by ta.id