Sam*_*Sam 1 sql t-sql sql-server ssms ssms-2012
在盟友 CASE WHEN 条件作为列之后,我们可以过滤该列吗?
例子;
SELECT
CASE WHEN Number like '20%' THEN 'X'
WHEN Number like '15%' or Number like '16%' THEN 'Y' ELSE 'Z'
END Operation
,*
FROM
TableA
where Operation like 'X'
Run Code Online (Sandbox Code Playgroud)
我将 CASE WHEN 条件称为“操作”,现在我只想在“操作”列中看到“X”操作。
有没有办法在 SSMS 2012 中使用 where 子句过滤 CASE WHEN 条件?
将您的查询包装为派生表,然后您可以将新列放在WHERE子句中:
select *
from
(
SELECT
CASE WHEN Number like '20%' THEN 'X'
WHEN Number like '15%' or [Item Number] like '16%' THEN 'Y' ELSE 'Z'
END Operation
,*
FROM
TableA
) dt
where Operation like 'X'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6259 次 |
| 最近记录: |