Mar*_*cha 0 sql sql-server where-clause conditional-statements
当满足 2 个条件时,我需要过滤一些行,但不排除其他行。
桌子:
idRow idMaster idList
1 10 45
2 10 46
3 10 47
4 11 10
5 11 98
6 14 56
7 16 28
8 20 55
Run Code Online (Sandbox Code Playgroud)
例子:
什么时候:
预期结果:
idRow idMaster idList
1 10 45
5 11 98
6 14 56
7 16 28
8 20 55
Run Code Online (Sandbox Code Playgroud)
运行 SQL Server 2014
我尝试了 CASE IF 的组合,但所有情况只过滤 idMaster=10,11 和 idList=45,98,不包括其他行
虽然您没有提到数据库名称,但以下查询逻辑将适用于所有数据库-
SELECT *
FROM your_table
WHERE idMaster NOT IN (10,11)
OR (idMaster = 10 AND idList = 45)
OR (idMaster = 11 AND idList = 98)
Run Code Online (Sandbox Code Playgroud)