用于检查多列的多个值的SQL查询

时间:2014-09-05 13:29:49

标签: sql

我有家庭作业,我似乎无法弄明白。

我不希望整个查询作为答案,这就是为什么我不会包含任何表结构或SQL。我只需要一些关于如何在SQL中解决这个问题的信息。任何帮助将不胜感激!

鉴于以下结果表,我如何检查(每行)ID的Location_ID值是否与ID替换的位置值相同? 该查询应该为每个位置不匹配的情况提供一个新表格。

Example result table

E.G。 ID 1的位置为45和5作为替代。 ID 5的位置为67,因此它们应列在查询的结果表中。

ID 3的位置为34和2作为替代。 ID 2的位置也是34,因此ID 3应该不在结果表中。

2 个答案:

答案 0 :(得分:1)

这个想法是使用自我加入,如:

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

答案 1 :(得分:1)

谢谢,在这种情况下我需要自我加入! 我不得不稍微更改一下查询,以检查ID的位置。

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

非常感谢!

相关问题