我想要做的是相互匹配行並排除所有匹配多個時間的行。SQL顯示不重複的行LEFT JOIN
數據集(請記住,這是簡化和有我需要從查詢檢索更多的信息)
表1:
NAME PART1 PART2
ABC FirstABC SecondABC
BAC FirstBAC SecondBAC
BAC SecondBAC FirstBAC
CBA FirstCBA SecondCBA
DAE FirstDAE SecondDAE
EDA FirstEDA SecondEDA
表2:
ITEM1 ITEM2
FirstABC SecondABC
FirstBAC SecondBAC
FirstBAC SecondBAC
FirstCBA SecondCBA
FirstDAE SecondDAE
FirstEDA SecondEDA
我到目前爲止有:
SELECT *
FROM TOMATCH as T
LEFT JOIN AGAINST as A
ON (
T.Part1 = A.Item1
OR T.Part2 = A.Item1
OR T.Part1 = A.Item2
OR T.Part2 = A.Item2
)
我在尋找什麼結果:
NAME PART1 PART2 ITEM1 ITEM2
ABC FirstABC SecondABC FirstABC SecondABC
CBA FirstCBA SecondCBA FirstCBA SecondCBA
DAE FirstDAE SecondDAE FirstDAE SecondDAE
EDA FirstEDA SecondEDA FirstEDA SecondEDA
怎麼樣SELECT DISTINCT? –
理想的結果尚不清楚。什麼是重複的?使用'DISTINCT',你會得到[this](http://sqlfiddle.com/#!6/87dc5/4/0),這是不同的結果。 **編輯**你有主鍵嗎? –
想要的結果是排除重複的結果(如果我沒有理解的話)。獨特將避免重複,但顯示數據「哪些將被複制而沒有明顯的」。 –