Сравните два идентификатора таблицы и получите результаты там, где их нет в одной таблице. - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь составить список «Нет продавцов», я получаю список различных продавцов и сравниваю его со «списком продавцов», также называемым account_manager_sellers, используя предложение NOT IN, но это не работает для я.

Таблица plans:

+----+-----------+
| id | seller_id |
+----+-----------+
|  1 |      1001 |
|  2 |      1002 |
|  3 |      1002 |
|  4 |      1001 |
|  5 |      1005 |
+----+-----------+

Таблица account_manager_sellers:

+------+--------------+
|  id  | persons_name |
+------+--------------+
| 1001 | name_1       |
| 1002 | name_2       |
| 1003 | name_3       |
| 1004 | name_4       |
| 1005 | name_5       |
+------+--------------+

Ожидаемый результат:

+------+--------------+
|  id  | persons_name |
+------+--------------+
| 1003 | name_3       |
| 1004 | name_4       |
+------+--------------+


SELECT DISTINCT(p.seller_id) FROM plans p 
WHERE p.seller_id NOT IN (
    SELECT a.id FROM account_manager_sellers a
)

Этот фрагмент кода работает, но не возвращает никаких результатов.

1 Ответ

0 голосов
/ 08 мая 2018

Вы делаете что-то задом наперед?

DEMO SQL:

SELECT  a.id, persons_name 
FROM account_manager_sellers a 
WHERE a.id NOT IN (
    SELECT DISTINCT p.seller_id FROM plans p
);

OUTPUT

|   id | persons_name |
|------|--------------|
| 1003 |       name_3 |
| 1004 |       name_4 |
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...