У меня есть таблица MySQL с именем account
. В этой таблице есть поле с именем salesmanager_id
. В 99% случаев значение в этом поле всегда одинаково для всех учетных записей конкретного клиента (указанного с помощью customer_id
).
Что я пытаюсь нужно найти customer_id
для клиентов, чьи учетные записи назначены более чем одному менеджеру по продажам. Например:
+------------------------------------+
| id | customer_id | salesmanager_id |
|------------------------------------|
| 1 | 12 | 4 |
| 2 | 12 | 4 |
| 3 | 14 | 3 | <-- I want this customer_id
| 4 | 14 | 4 |
+------------------------------------+
В приведенном выше примере customer_id
14 имеет оба salesmanager_id
Ему назначены 3 и 4. Я хотел бы получить этот идентификатор_клиента
для моего списка.
Я попробовал следующий запрос, но он возвращает пустой результат (хотя я уверен, что есть хоть какие-то отличия).
SELECT `name`, `customer_id` AS `customer`, `salesmanager_id` FROM `accounts`
WHERE `salesmanager_id` NOT IN (
SELECT `salesmanager_id` FROM `accounts` a
LEFT JOIN `customers` c ON (a.customer_id = c.id)
WHERE a.customer_id=c.id
) GROUP BY `customer`;