2

我有一张桌子,例如,IDName

有多个行包含空白名称,但也可以有多个具有相同名称的行。我想选择所有ID的,每个名字只计算一次(DISTINCT),但选择所有的空白。

下面的查询自然只选择一个空白名称。如何选择所有不同的名称以及所有空白名称?

SELECT DISTINCT Name, ID
FROM TestTable
4

2 回答 2

7
SELECT DISTINCT Name, ID FROM TestTable where Name <> ''
union all
SELECT Name, ID FROM TestTable where Name = ''
于 2012-05-10T17:48:10.560 回答
1

我能想到的唯一轻微改进是:

SELECT DISTINCT Name, ID FROM TestTable where Name <> ''
union all
SELECT '', ID FROM TestTable where Name IS NULL OR Name = ''
于 2012-05-10T17:59:31.090 回答