你好,我一直在這一整個上午工作。我認爲這是一個簡單的自連接,但自連接實際上返回的行太多。如何從表中選擇不同列中的三個或更多值相同的行?
本質上,我試圖找到表中某些列值匹配行與行的表中的行。
因此,如果第一行和第三行在三個特定列中具有相同的列值,則返回這兩行。
到目前爲止,我嘗試了一種自聯接和一種以兩種不同方式進行的半聯接。
SELECT *
FROM ATable a, ATable b
Where a.colValue = b.colValue
and a.colValue2 = b.colValue2
這會返回太多的行。 這個查詢甚至是連接嗎?我在這裏錯了嗎? 我錯過了什麼自聯接,它比表本身返回更多的行?
ATable包含20行,但上面的查詢返回36
一如既往非常感謝任何答案或提示。我只是通過制定問題來學習很多東西。
可能要添加'和a.id <> b.id'以消除匹配本身 – cairnz 2012-02-27 17:00:12