- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

ФАС может принять меры антимонопольного реагирования в отношении Яндекс Такси
Из-за доминирующего положения на рынке
Оксана Мамчуева

Картинки для SEO: оптимизируем и топим за уникальность
Что конкретно сделать, чтобы получить нужный результат
Галина Борисова
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Составил запрос
t1.average,t1.comments,t1.vote,t1.rate,t5.created
FROM xyf_items as t1
LEFT JOIN xyf_city as t6 on t6.id = t1.city_id
LEFT JOIN xyf_address as t8 on t8.item_id = t1.id
LEFT JOIN xyf_working as t2 on t2.firm_id = t1.id
LEFT JOIN xyf_spec as t3 on t3.id = t2.item_id and t3.fullname not LIKE '%.%' and t3.category_id =99
LEFT JOIN xyf_categories as t4 on t4.id = t3.category_id
LEFT JOIN xyf_sections as t7 on t7.id = t3.section_id
LEFT JOIN xyf_comments_items as t5 on (t5.object_id = t1.id and t5.id = (SELECT max(id) FROM xyf_comments_items WHERE `object_id` = t1.id and object_group = 'com_firms'))
WHERE t1.comments <=9
and t1.group_id = 1
GROUP BY t1.id
И не могу понять. Проблема в строчке
В итоговую выборку не попадают работники фирмы из 99 категории, хотя они там точно есть.
Не могу понять почему?
P.S. т.е. для некоторых фирм они попадают в выборку, а для других нет (хотя для тех что нет, они там точно есть)
начинаю проверять, делаю запрос
и вижу айди 10 работников этой фирмы, все правильно. Несколько их них относятся к 99 категории.
Далее подключаю таблицу самих спецов
FROM `xyf_spec` as t1
LEFT JOIN xyf_working as t2 on t2.item_id = t1.id and t1.fullname not LIKE '%.%' and t1.category_id =99
WHERE t2.firm_id = 1217
и опять все верно, вижу работников 99 категории из фирмы, которых почему то не показывает 1 запрос
Так почему первых запрос их не выводит?
---------- Добавлено 15.03.2020 в 11:03 ----------
Я так понимаю дело в LEFT JOIN, оно игнорирует почему то t3.fullname not LIKE '%.%' and t3.category_id =99 м все равно выдает все возможные варианты t3.id = t2.item_id. Но LEFT JOIN мне реально нужен, потому что есть варианты фирм вообще без работников и они нужны в выборке
Кажется понял, нужно условие опустить в WHERE и сделать так
WHERE t1.comments <=9
and t1.group_id = 1
and ((t3.fullname not LIKE '%.%' and t3.category_id =99) or (t3.fullname is NULL and t3.category_id is NULL))
GROUP BY t1.id
да верно. не нужно через AND добавлять условия к ON.
все условия к получившейся после JOIN'ов выборке запихнуть в WHERE