我有一個查詢,我在SELECT中使用CASE語句來分配'Team'列的值。然後我希望能夠在WHERE子句中使用我分配的值。有關示例,請參閱下面的示例查詢。在SELECT> CASE語句中分配數據,然後在WHERE子句中使用?
在我的簡化示例中,我知道我可以在我的WHERE子句中使用s.id值並獲得所需的結果,但是我有一個更復雜的場景,我正在使用它將有助於實際使用字符串我在WHERE子句中分配。
這可能嗎?我正在使用MS SQL Server 2012.
在搜索過程中,我沒有發現任何明確的信息,無論如何。提前致謝!
SELECT s.tickedNum, s.ticketSummary,'Team' =
CASE
WHEN s.id in (100) THEN 'Team A'
WHEN s.id in (200) THEN 'Team B'
WHEN s.id in (300) THEN 'Team C'
ELSE 'Unknown'
END,
FROM supportTable s
WHERE
'Team' = 'Team B'
不能做到這一點。你需要一個子查詢或CTE。你不能在其對應的where子句中使用'select'中定義的別名。 –
如果您真的想要 – TheGameiswar