1
我試圖根據三個條件實現一個完整的外部連接,所有這些條件都由邏輯與連接起來。但是,第三個條件並不總是有效的:它基於名爲「counter」的列,在某些情況下,該列可能在我要加入的表中爲「null」。 讓我更詳細地解釋一下。 基本的加入對語句應該是這樣的:在連接條件下的SQL case語句
... table1 full outer join table2
on (table1.1=table2.1 AND table1.2=table2.2 AND table1.counter=table2.counter)
然而現在,在某些情況下table1.counter可能爲空,而table2.counter不是。在這些情況下,我想要在前兩種情況下進行連接,而忽略第三種情況。
我的想法是那樣做:
... table1 full outer join table2
on (table1.1=table2.1 AND table1.2=table2.2
AND table1.counter= case when table1.counter is null then null
else table2.counter
end)
然而,這是不行的,因爲結果是完全一樣的,在第一個代碼,即第一個case語句永遠不會被觸發。但我不明白爲什麼?
任何提示或見解將大受歡迎!
謝謝,這似乎工作! – user2949599
不客氣,但不要忘記標記爲已解決;) –