![](/img/trans.png)
[英]Select column where value appears in an given array and where the column value exists for all array entries
[英]Select a list of entries in Column A where column B = 'value'. Then select all entries where column A is one of the list
我有一个SQL表,其条目如下:
RuleID Symbol
1 OR
1 123
1 363
2 AND
2 847
2 287
3 AND
3 NOT
3 234
3 867
4 NOT
4 995
结果应为:
3 AND
3 NOT
3 234
3 867
4 NOT
4 995
Symbol ='NOT'对应于RuleID ='3'和RuleID ='4'。 我想要
select * in table where RuleID = '3' or '4'
如何使用SQL Server执行此操作?
你应该用in
了这一点。 例如:
从表WHERE RULEID中选择*(从表中的SYMBOL ='not'中选择RULEID)
为此,使用Joins通常比使用IN子句更快
SELECT T.*
from table T INNER JOIN
( SELECT Distinct RuleID
FROM table
WHERE SYMBOL = 'not'
) A
ON A.RuleID = T.RuleID
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.