Far*_*ruz 2 sql sql-server-2008
这是我的 sql 查询:
select case when table.field1 = 1 then 1
when table.field2 = 3 then 3
when table.field2 = 4 then 4
when table.field3 = 1 then 5
else .... Status //item name
from table
Run Code Online (Sandbox Code Playgroud)
我希望在出现“else”的情况下 -> 该行将从数据集中删除。由于某种原因,我不能在 where 子句中使用“状态”。
想法?
小智 5
您可以使用公用表表达式:
with TempResult (id, status)
as
(
select primary_key_column,
case when table.field1 = 1 then 1
when table.field2 = 3 then 3
when table.field2 = 4 then 4
when table.field3 = 1 then 5
else 0
from table
)
select id
from TempResult
where status > 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5031 次 |
| 最近记录: |