如何在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中,包括另一行
,该答案特别指出,如果@user13472171lookup
只是该表的别名,则包含这一行,而不是另一行。如果将所有出现的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)
)