Могу ли я взять DISTINCT набор данных COALESCE? - PullRequest
3 голосов
/ 21 июня 2011

У меня есть следующий бит кода, и он работает до сих пор:

SELECT  
    [id],
    COALESCE ([Company], [LastName] + ', ' + [FirstName]) as Customer
FROM [some_database].[dbo].[some_table]
ORDER BY Customer

Однако я хотел бы использовать ключевое слово DISTINCT, чтобы исключить повторяющиеся записи "Customer".Это возможно?Я пробовал несколько разных способов, но безрезультатно.

1 Ответ

5 голосов
/ 21 июня 2011

Если у вас есть несколько записей клиентов с одним и тем же именем, вы должны выбрать один идентификатор для данного имени. Вот пример выбора самого последнего созданного (т.е. max()), но вы можете захотеть первого созданного (например, min()):

SELECT  
    Max([id]) as id,
    COALESCE ([Company], [LastName] + ', ' + [FirstName]) as Customer
FROM [some_database].[dbo].[some_table]
GROUP BY 2
ORDER BY Customer

Отредактировано: Извините ... GROUP BY 2 , а не 1

...