在SQL中查找具有对角线出现的记录

时间:2016-03-17 14:04:17

标签: sql sql-server

我想选择满足以下条件的所有记录:所有具有反向替换的B。

在这种情况下,S1和S2是满足条件的记录:

Column 1  Column 2  Column3
B1        S1        AS1
B1        AS1       S1
B2        S2        AS2
B2        As2       AS3
B2        As3       S2
B3        S3        AS3
B3        As3       ASS3

期望的输出:

Column 1  Column 2  Column3
B1        S1        AS1
B1        AS1       S1
B2        S2        AS2
B2        As2       AS3
B2        As3       S2

第2列的记录由column3的记录替换。看AS1在第二排记录中取代了S1。现在,如果S1再次替换AS1,则这是反向替换。在B1,B2,... BN中,我需要所有满足这一条件的B。所以我正在尝试检查具有相同Bx但行不同的行的column2和column3。

1 个答案:

答案 0 :(得分:0)

尝试使用:

SELECT column1, column2, column3
WHERE column2 like '%'+column3+'%' OR column3 like '%'+column2+'%'

这里,WHERE条件将查看column2的值是否包含在column3中,反之亦然。

我认为你只是在查看column3是否包含在column3中。如果是这样,则不需要第二个条件,即,你只需要写下这个:

SELECT column1, column2, column3
WHERE column2 like '%'+column3+'%'