如何在SQL中将一列中的值查找到多个其他列中

如何在SQL中将一列中的值查找到多个其他列中,sql,Sql,我的数据类似于: C1, C2, C3, C4, C5 10, 1, 101, 60, 80 10, 1, 201, 70, 101 10, 2, 101, 80, 201 10, 2, 30, 700, 90 10, 5, 12, 12, 12 我想找到: c2中的所有值,无论是否存在于C3、C4或C5中。 类似地,C3中的所有值都存在于C4和C5中,依此类推 最终产出将是: C1,

我的数据类似于:

C1,  C2,  C3,   C4,   C5  
10,  1,   101,  60,   80   
10,  1,   201,  70,   101    
10,  2,   101,  80,   201    
10,  2,   30,   700,  90  
10,  5,   12,   12,   12  
我想找到:

c2中的所有值,无论是否存在于C3、C4或C5中。 类似地,C3中的所有值都存在于C4和C5中,依此类推

最终产出将是:

C1,  C2,  C3,   C4,   C5  
10,  1,   101,  60,   80   
10,  1,   201,  70,   101    
10,  2,   101,  80,   201    
至于其他两个记录,C3、C4和C5中的值不存在于任何其他列中

问候,, A

将逻辑反转为“对于当前行,在什么条件下应该包括它?”

我对你的问题的理解是,如果:

它的C5值出现在任何其他行的C2或C3或C4中

它的C4值出现在任何其他行的C2或C3中

它的C3值出现在任何其他行的C2中


虽然您没有说明,但您可能还需要
WHERE(blah)和yourTable.c1=lookup.c1

我不明白您想要什么。你可能需要向我们展示你想要的结果,并扩展你的解释。如果你尝试一些东西会更好,因为这不是免费的编码服务,所以它的C2值出现在任何其他行的C3或C4或C5中,或者它的C3值出现在任何其他行的C4或C5中,或者它的C4值出现在任何其他行的C5中。感谢MatBailie介绍我在sql中查找。@user13472171
它的C2值出现在任何其他行的C3或C4或C5中
-否,这不是你的问题所说的,你的问题是
,如果一行的C2值出现在另一行的C3、C4或C5中,包括另一行
,该答案特别指出,如果
@user13472171
lookup
只是该表的别名,则包含
这一行,而不是
另一行。如果将所有出现的
lookup
替换为
smeg
SELECT
  *
FROM
  yourTable
WHERE
  EXISTS (
    SELECT *
      FROM yourTable AS lookup
     WHERE yourTable.c5 IN (lookup.c2, lookup.c3, lookup.c4)
        OR yourTable.c4 IN (lookup.c2, lookup.c3)
        OR yourTable.c3 IN (lookup.c2)
  )