我有兩個表,我必須加入tbl和tbl2。 tbl的列是無關緊要的。這裏是TBL2的tructure:基於條件在不同列上加入2個表
CREATE TABLE tbl2 (
a VARCHAR(10)
, b VARCHAR(10)
, c VARCHAR(10)
, d VARCHAR(10)
, e VARCHAR(10)
);
我需要做的是應用以下連接:
如果有多個行具有相同的a,b和c
LEFT JOIN
他們上, b,c和d。否則如果有若干行用相同的a和b以及它們不在上的a,b上面提到
LEFT JOIN
該組和c否則從TBL2上a和b
LEFT JOIN
剩餘的行。
我一直在想什麼是實現以下目標的最佳途徑。 tbl2可以修改,因爲它僅用於此查詢的目的。
你有什麼想法什麼是實現這個最有效的方式?
編輯:
通過 '具有相同的a,b和c' 我的意思是這樣的:
SELECT a, b, c FROM tbl2 GROUP BY a, b ,c HAVING COUNT(*) > 1
這是來到了我的腦海裏的第一件事情,但我想知道是否有這樣做,而不必工會這一切的方式。 – kyooryu