2014-09-05 92 views
2

我有一個作業分配,我似乎無法弄清楚。SQL查詢檢查多個列的多個值

我不希望整個查詢作爲答案,這就是爲什麼我不會包含任何表結構或SQL。我只需要一些關於如何在SQL中解決這個問題的信息。任何幫助將不勝感激!

鑑於以下結果表,我如何檢查(每行)ID的位置ID值是否與ID的替代位置值相同? 查詢應爲每個位置不匹配的情況提供一張新表。

Example result table

E.G. ID 1具有45和5的位置作爲替代。 ID 5的位置爲67,因此它們應該列在查詢的結果表中。

ID 3的位置爲34和2作爲替代。 ID 2的位置也是34,因此ID 3應該排除在結果表之外。

回答

1

的想法是使用一個自連接,是這樣的:

select * from Mytable as a join Mytable as b on a.ID=b.ID 
where a.Substitute!=b.Location_ID 
1

謝謝,我需要在這種情況下,自加入! 雖然我不得不改變查詢來檢查ID的位置。

select * from Mytable as a join Mytable as b on a.ID=b.ID 
    where a.Location_ID!=b.Location_ID 

非常感謝!