我的问题与此类似。
Check if column value exists in another column in SQL
但是,在我的情况下,IN
语句中最多有五个select语句。它看起来像这样:
SELECT Criterion1 FROM tblFilter WHERE Criterion1 IN (SELECT Criterion2 FROM tblFilter, SELECT Criterion3 FROM tblFilter)
然而,当我在vb.net上运行它时,我从此查询中得到语法错误。那么,正确的是什么?
答案 0 :(得分:2)
对于Access SQL,您需要使用如下构造:
SELECT ...
FROM tblFilter
WHERE Criterion1 IN (SELECT Criterion2 FROM tblFilter)
OR Criterion1 IN (SELECT Criterion3 FROM tblFilter)
答案 1 :(得分:0)
试试这个:
SELECT Criterion1 FROM tblFilter WHERE Criterion1 IN (SELECT Criterion2 FROM tblFilter UNION SELECT Criterion3 FROM tblFilte
UNION将你的两个选择装置组合在一起,但它们必须返回相同的元素数(你的装备中的1个)和相同的类型。
编辑: 试试这个:
SELECT Criterion1 FROM tblFilter t1, tblFilter t2, tblFilter t3 WHERE t1.Criterion1 = t2.Criterion2 OR t1.Criterion2 = t3.Criterion3
答案 2 :(得分:0)
SELECT Criterion1 FROM tblFilter 标准1 在 ( SELECT Criterion2 FROM tblFilter)
或 标准1( SELECT Criterion3 FROM tblFilter )