Фильтр для комбинации значений столбцов в SQL

Aeglasin спросил: 27 ноября 2017 в 06:17 в: sql

Я хочу выполнить фильтрацию для всех людей, которые имеют такое же 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 и выполняя очистку, но есть ли способ исправить запрос, чтобы не получить эти"дубликаты"?

0 ответов