Поиск «экзотического» значения в таблице MySQL

У меня есть таблица 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_id14 имеет оба 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`;
5
задан Mahmoud Gamal 20 June 2012 в 08:44
поделиться