accounts
adlı bir MySQL tablom var. Bu tabloda salesmanager_id
adlı bir alan var. Zamanın% 99'u, bu alandaki değer her zaman belirli bir müşterinin tüm hesapları için aynıdır (customer_id
ile belirtilir).Bir MySQL tablosunda "egzotik" değeri bulma
Yapmaya çalıştığım şey, birden fazla satıcıya atanan hesapları olan müşteriler için customer_id
bulmaktır. Örneğin: Yukarıdaki örnekte
+------------------------------------+
| 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 atanmış hem salesmanager_id
3 ve 4 bulunur. Listem için bu customer_id
'u almak istiyorum.
Aşağıdaki sorguyu denedim, ancak bu boş bir sonuç döndürüyor (en azından bazı farklılıklar olduğundan eminim).
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`;
Teşekkürler, tam ihtiyacım olan buydu! – Oldskool