use*_*273 2 sql t-sql sql-server sql-server-2005
我有这张桌子
Column1 Column2
1 value1
2 value2
3 value3
4 value4
Run Code Online (Sandbox Code Playgroud)
使用此声明:
SELECT * FROM table WHERE column2='value2'
Run Code Online (Sandbox Code Playgroud)
只显示:
Column1 Column2
2 value2
Run Code Online (Sandbox Code Playgroud)
我想显示这个:
Column1 Column2
1
2 value2
3
4
Run Code Online (Sandbox Code Playgroud)
怎么样?
好吧,你的WHERE条款是说"向我显示行所在的位置column2 = value2" - 所以,正如所写的那样,它不可能包含任何column2具有任何其他值的行,因为它们已被过滤掉.
这是使用CASE表达式(并且没有WHERE子句)完成所需内容的一种方法:
SELECT column1, column2 = CASE
WHEN column2 = 'value2' THEN 'value2'
ELSE NULL
END
FROM dbo.table;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
529 次 |
| 最近记录: |