Kha*_*era 1 sql t-sql sql-server sql-server-2012
假设我们有以下 SQL 语句。
SELECT ID
FROM table1
WHERE P1 = P1 AND (P2 = X OR P3 = Y OR P4 = Z)
Run Code Online (Sandbox Code Playgroud)
如果括号中的至少两个条件满足其条件,则此语句应返回结果,但我不知道如何编写给出这种结果的语句。先感谢您。
CASE对返回1或0添加它们的每个条件使用表达式:
SELECT ID
FROM table1
WHERE P1 = P1
AND CASE WHEN P2 = X THEN 1 ELSE 0 END +
CASE WHEN P3 = Y THEN 1 ELSE 0 END +
CASE WHEN P4 = Z THEN 1 ELSE 0 END >= 2
Run Code Online (Sandbox Code Playgroud)
这对于更多条件是可扩展的。
| 归档时间: |
|
| 查看次数: |
54 次 |
| 最近记录: |