Я протестировал странный запрос, который включает в себя поиск несуществующих записей.
В двух словах, у меня есть 3 tables
: tbl_customers
tbl_customers_notes
tbl_customers_pipelines
Клиенты и заметки довольно очевидны, а конвейеры - нет.По сути, конвейеры - это то, что администраторы назначают одному customerid
.
Вот структура таблицы для конвейеров:
ID |кастомерид |adminid |
Мне не нужно было создавать столбец ID
, но я все равно это сделал, и он автоматически увеличивается.
Каждая запись клиента начинается без присоединения к конвейерузаписей.Таким образом, он пуст при первоначальном создании customerid.Если я хочу назначить администраторов для управления этим новым customerid и просто добавить запись для каждого adminid:
ID | customerid | adminid
---------------------------
1 | 45 | 6
2 | 45 | 8
3 | 45 | 10
Это означает, что customerid: 45 имеет 3 назначенных adminid.
(кстати, adminid похожиsales ppl)
У меня есть запрос ниже, который позволяет мне искать customerid's, в котором отсутствуют заметки от конкретного adminid.И это прекрасно работает:
SELECT c.*
FROM `tbl_customers` c
LEFT JOIN `tbl_customers_pipelines` cp ON c.customerid = cp.customerid
WHERE c.customerid
NOT IN(SELECT n.customerid
FROM `tbl_customers_notes` n
WHERE n.datesubmitted BETWEEN '2011-12-01 14:00:00'
AND '2011-12-03 13:59:59'
AND n.categoryid IN(10)
)
AND cp.adminid = 855
Вы заметите, что я выполняю подзапрос после предложения WHERE.И это работает как ожидалось.Я отображаю только записи клиентов, которые имеют определенные примечания и имеют определенный adminid в таблице конвейеров.
Я хочу сделать обратное этому.
И искать записи клиентов, в которых отсутствует конвейер/ admin полностью записывает.Я, по сути, ищу кастомериды, в которых есть записи, но нет админд.И вот здесь я сталкиваюсь с некоторой путаницей при создании запроса.
Моя единственная мысль была заменить «AND cp.adminid = 855» на «AND ISNULL (cp.ID)» *
И это не дает результатов.Но записи действительно есть.Так что запрос просто выключен.Кто-нибудь видит что-то, чего мне не хватает?