重複的結果具有被這樣相關的四個表:我如何消除加入SQL語句
TABLE A: 1 to many with TABLE B
TABLE B: 1 to many with TABLE C
TABLE D: many to 1 with TABLE B
我想創建一個結果集,它不包含任何重複。
SELECT A.f1
A.f2
B.f1
C.f1
D.f1
from A LEFT JOIN (B INNER JOIN D on D.fk_b = B.id) on A.id = B.fk_a
LEFT JOIN C on C.fk_b = B.id
有些但不是全部記錄是重複的。只有具有相同FK的TABLE D
到TABLE B
的記錄。
如果有2個相同的D.fk_B
字段,那麼我想只選擇第一個。我的INNER JOIN
會變成類似於:
B INNER JOIN TOP 1 D on.....
但這不可能?
謝謝!
如果他們確切的重複,你應該使用'選擇DISTINCT' 。 – Viruzzo
no there not exact duplicates :( – jorrebor
定義你的意思是「不完整的重複」 – onedaywhen