Я хочу выполнить фильтрацию для всех людей, которые имеют такое же AttributValue для определенных атрибутов, что и другой PersonI, у меня есть следующий запрос:
SELECT
p1.keyValue,
p1.Displayname,
p2.keyValue,
p2.Displayname,
p1.ImportantAttrName,
p1.ImportantAttrValue
FROM Person p1 WITH (NOLOCK)
JOIN Person p2 WITH (NOLOCK)
ON p1.ImportantAttr = p2.ImportantAttr
WHERE p1.keyValue != p2.keyValue
AND p1.ImportantAttrValue = p2.ImportantAttrValue
с помощью этого запроса я получу все записи дважды, потому что каждый Person будет в p1 и p2.Так результат будет выглядеть так:
I123 Freddy Krüger A123 The Horsemen Moviecategorie Horror
A123 The Horsemen I123 Freddy Krüger Moviecategorie Horror
Но для целей анализа было бы неплохо, если бы я мог получить комбинацию p1. keyvalue и p2.keyvalue только один раз, независимо от того, в каком из этих двух столбцов значения.
До сих пор я делал это, экспортируя в excel и выполняя очистку, но есть ли способ исправить запрос, чтобы не получить эти"дубликаты"?