DISTINCT приводит к MySQL

Что мне нужно, это получить UID, который не имеет почтовый индекс 17 в своем списке.

-------------
uid | zipcode
-------------
2   |   17
2   |   30
7   |   18
7   |   17
9   |   20

SELECT uid, zip FROM nt_shipping WHERE zip != 17 GROUP BY uid;

не работает. мне нужно связать почтовые индексы для каждого клиента, а затем использовать другой запрос

1

Решение

Во-первых, получите список всех идентификаторов с zip = 17 с помощью оператора select. Затем выберите все идентификаторы в таблице. nt_select которые не в предыдущем утверждении выбора.

SELECT uid, GROUP_CONCAT(zip) all_zips
FROM nt_select
WHERE
uid NOT IN (SELECT
uid
FROM
nt_shipping
WHERE zip = 17 GROUP BY 1)
GROUP BY 1
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector