MySQL - Рекламные кампании и блеклист

176
03 января 2019, 05:10

Есть 2 таблицы "campaigns" и "bl_sites"

campaigns        bl_sites
---------        ---------
id               camp_id
status           site

Данные в таблице "bl_sites". ID кампании и перечень сайтов на которых данную рекламную кампанию показывать не нужно.

Имеем сайт "ajax.loc" Нужно выбрать все кампании и исключить с выборки кампании у которых в блэклисте присутствует сайт "ajax.loc". В данном случае нужно исключить кампанию с ID 21

Такой запрос не работает

SELECT * FROM camps
LEFT JOIN bl_sites ON bl_sites.camp_id = camps.id
WHERE bl_sites.site != 'ajax.loc'

Он просто исключает из объединенной выборки строки, у которых bl_sites.site = 'ajax.loc' Мало того, он вообще не включает в выборку кампании у которых нет сайтов в блеклисте (нет записей в таблице "bl_sites")

Результат:

Такой запрос так же не работает

SELECT * FROM camps
LEFT JOIN bl_sites ON bl_sites.camp_id = camps.id
WHERE bl_sites.site != 'ajax.loc' OR bl_sites.site IS NULL

Он уже включает те кампании у которых нет блеклиста. Но все равно оставляет кампанию с ID 21

Результат:

Наверное я что-то делаю не так. Думал уже плюнуть и добавить текстовое поле в таблицу с кампаниями и писать туда сайты через запятую (для каждой кампании свой БЛ). При выборке использовать LIKE.

READ ALSO
Как выровнять строки при flex flex-wrap wrap?

Как выровнять строки при flex flex-wrap wrap?

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

143
Стили и разметка

Стили и разметка

Нашёл на просторах интересную библиотеку стилей к framework'у bootstrap 4 И заинтересовало меню от туда, но возникла проблема там 20к строк кода и вручную...

216
HTML: при нажатии на переключатель radio - отобразить числовое поле ввода в той же линии

HTML: при нажатии на переключатель radio - отобразить числовое поле ввода в той же линии

При нажатии на переключатель типа radio "Указать размер" поле ввода отображается под переключателем (в колонке),а необходимо в отобразить в одной...

192
Вопрос по макету

Вопрос по макету

Верстаю учебный макет и наткнутся на блок:

246