2014-07-22 129 views
1

我正在執行2個表之間的左連接。假設這兩個表都有列,如id,名稱和薩爾,我需要獲得匹配的記錄加上不匹配的記錄。 jon鍵在這裏是id。對於不匹配的記錄,sal列應替換爲每行90000,90001,90002等。所以在執行連接操作之後,我將能夠通過sal列標識不匹配的記錄。有人可以幫我查詢嗎? 感謝 enter image description here左連接獲取不匹配記錄

+3

請告訴我們您到目前爲止 – DanK

+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
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