Я пытаюсь сопоставить customers
, которые приобрели тот же товар, заказанный по первому идентификатору клиента CID
.Запрос дает правильные результаты, но я получаю примерно на 37 строк больше, чем должен был получить.
При проверке, кажется, есть некоторые дубликаты в этом смысле
Customer A | Customer B
Customer B | Customer A
Это происходит только для некоторых совпадений, но не для других
SELECT DISTINCT ca.name as CUSTOMERA, cb.name as CUSTOMERB
FROM customer ca, customer cb
INNER JOIN YRB_PURCHASE pur1 ON ca.cid = pur1.cid
INNER JOIN YRB_PURCHASE pur2 ON cb.cid = pur2.cid
WHERE pur1.title = pur2.title
AND ca.cid > cb.cid;
Вот небольшой пример избаза данных
Jon Stewart | Sydney Crosby
Jake Banning | James Monroe
James Monroe | Jake Banning
Последняя строка не должна быть возвращена, поскольку Джейк Баннинг и Джеймс Монро уже спарены в строке 2