2

我有这张桌子

Column1  Column2
1        value1
2        value2
3        value3
4        value4

使用此语句:

SELECT * FROM table WHERE column2='value2'

只显示这个:

Column1  Column2
2        value2

我想显示这个:

Column1  Column2
1
2        value2
3
4  

如何?

4

1 回答 1

5

好吧,您的WHERE子句是在说“告诉我行在哪里column2 = value2” - 因此,正如所写的,它不可能包含任何column2具有其他值的行,因为它们已被过滤掉。

CASE这是使用表达式(且无WHERE子句)完成您要查找的内容的一种方法:

SELECT column1, column2 = CASE 
  WHEN column2 = 'value2' THEN 'value2'
  ELSE NULL
END
FROM dbo.table;
于 2013-01-27T04:13:14.513 回答