我正在尝试做类似的事情(当然是假的):
SELECT
city,
CASE WHEN COUNT( [group] ) > 1 THEN 'Multiple' ELSE [group] END AS Type
FROM
offices
GROUP BY
city
办公室包含以下行:
ID | group | city
----------------------
1 | 'A' | 'Houston'
2 | 'B' | 'Houston'
3 | 'C' | 'Houston'
4 | 'S' | 'Boston'
5 | 'R' | 'Detroit'
结果看起来像:
city | group
--------------------
'Houston'| 'Multiple'
'Boston' | 'S'
'Detroit'| 'R'
我知道你可以这样做:
SELECT
City,
CASE WHEN COUNT([group]) > 1 THEN
'Multiple'
ELSE
( SELECT [group] FROM test WHERE t.City = city )
END AS CGroup
FROM
test t
GROUP BY
City
我认为这应该更简单。
没有子查询的东西?