根据WHERE条件分离SQL SELECT结果集

Yuv*_* A. 0 sql select where

有了这种查询:

SELECT userID FROM Users
WHERE (condition1)
OR    (condition2)
OR    (condition3)
Run Code Online (Sandbox Code Playgroud)

我希望结果集以某种方式"区分"满足'condition1'的结果与满足'condition2'的结果和那些属于'condition3'的结果.

例如,通过某种方式使结果集具有第二列,该列将包含满足哪个条件(1,2或3).

怎么能实现这一目标?

谢谢.

Red*_*ter 7

您可以使用此CASE语句,例如:

SELECT userID,
    case 
        when (condition1) then 1
        when (condition2) then 2
        when (condition3) then 3
    end as ConditionMet
 FROM Users
    WHERE (condition1)
    OR    (condition2)
    OR    (condition3)
Run Code Online (Sandbox Code Playgroud)

注意:如果遇到多个条件,此方法不会显示.为此,您可能需要单独的列.