SELECT
CASE
WHEN LastName IS NULL THEN FirstName
WHEN LastName IS NOT NULL THEN LastName + ', ' + FirstName
END AS 'FullName'
FROM
customers
GROUP BY
LastName,
FirstName
Это работает, потому что используемая вами формула (оператор CASE) никогда не может дать одинаковый ответ для двух разных входных данных.
Это не тот случай, если вы использовали что-то вроде:
LEFT(FirstName, 1) + ' ' + LastName
В таком случае «Джеймс Тейлор» и «Джон Тейлор» приведут к «Джей Тейлору».
Если вы хотите, чтобы ваш вывод дважды содержал «J Taylor» (по одному на каждого человека):
GROUP BY LastName, FirstName
Если, однако, вам нужен был только один ряд "J Taylor", вы бы хотели:
GROUP BY LastName, LEFT(FirstName, 1)