У меня есть таблица имен и адресов, и я хочу вернуть полный список имен и адресов с дополнительным столбцом, который определяет, является ли адрес дубликатом или уникальным адресом. Есть несколько повторяющихся записей адресов, которые я вижу, когда выполняю более простое утверждение -
SELECT PersonAddressLine1, Count (*)
FROM CompanyTable1
GROUP BY PersonAddressLine1
или
SELECT PersonAddressLine1, Count (*)
FROM CompanyTable1
GROUP BY PersonAddressLine1
HAVING COUNT (*) > 1
но мне нужно вернуть полную таблицу со столбцами -
PersonID, PersonName, PersonAddressLine1, AddressVerification (Duplicate / Unique), CompanyID, CompanyName.
PersonID - 1
PersonID - 2
PersonID - 3
PersonName - Ryan
PersonName - Andrew
PersonName - Ben
PersonAddressLine1 - 100 Avenue
PersonAddressLine1 - 100 Avenue
PersonAddressLine1 - 200 Avenue
Если я использую приведенный ниже оператор регистра, условие группы влияет на результат подсчета PersonAddressLine1. Все адреса отображаются как уникальные.
SELECT PersonID, PersonName, PersonAddressLine1, CompanyID, CompanyName,
CASE WHEN count(*) > 1
THEN CONCAT(PersonName,' ','Address Line 1 is duplicate')
ELSE CONCAT(PersonName,' ','Address Line 1 is unique')
END AS 'Person Address Verification'
FROM CompanyTable1
GROUP by PersonAddressLine1, PersonID, PersonName, CompanyID, CompanyName