我有一张表格,例如ID
和Name
。
有多个行包含空白名称,但也可以有多个具有相同名称的行。我想选择所有ID
,只计算一次名称(DISTINCT
),但选择所有空格。
以下查询自然只选择一个空白名称。 如何选择所有不同的名称以及所有空白名称?
SELECT DISTINCT Name, ID
FROM TestTable
答案 0 :(得分:7)
SELECT DISTINCT Name, ID FROM TestTable where Name <> ''
union all
SELECT Name, ID FROM TestTable where Name = ''
答案 1 :(得分:1)
我能想到的只有轻微的改进:
SELECT DISTINCT Name, ID FROM TestTable where Name <> ''
union all
SELECT '', ID FROM TestTable where Name IS NULL OR Name = ''