我有兩個表TabA,TabB 我有興趣將它們連接在一起,以便結果與TabA具有相同的記錄數量,並且它只連接來自TabB的非NULL值。話雖這麼說SQL組記錄但在組中顯示不爲空
TabA
field1 field2
1 valone
1 valtwo
2 valone
3 valone
TabB
field3 field4, field5
1 NULL test3
1 test1 NULL
2 test2 NULL
,我想要得到的結果是:
field1 field2 field4 field5
1 valone test1 test3
1 valtwo test1 test3
2 valone test2 NULL
3 valone NULL NULL
我迄今
SELECT TabA.field1, TabA.field2, TabA.field4
FROM TabA
LEFT JOIN TabB ON TabA.field1 = TabB.field3
但是這並沒有考慮到我想要的事實返回與TabA相同數量的行。
你有什麼試過?使用'outer join'和'not null'從'tabb'過濾掉你不想查看的記錄... – sgeddes
你的編輯已經改變了解決方案 - 現在你需要使用'conditional aggregation'(或額外的'連接')。如果'tabb'中存在多個不是'null'的記錄呢? – sgeddes
帶有左連接的查詢應該完全按照這種方式進行。你得到了什麼結果? –