- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть запросы выводящий группу спецов заданной категории, я бы хотел добавить к этому списку отзывы о тех работниках, для которых они есть.
Вот оригинальный запрос
AS rate, pipls.comments, pipls.hits, pipls.photo, pipls.fullname, t4.description,
CONCAT_WS('-', pipls.id, pipls.alias) AS item_alias,
CONCAT_WS('-', t2.id, t2.alias) AS category_alias,
CONCAT_WS('-', t3.id, t3.alias) AS section_alias
FROM SD_pipls_items AS pipls
INNER JOIN SD_pipls_categories AS t2 ON pipls.category_id = t2.id
INNER JOIN SD_pipls_sections AS t3 ON pipls.section_id = t3.id
INNER JOIN SD_comments_items AS t4 ON pipls.id = t4.object_id
WHERE pipls.id IN (SELECT `pipl_id` FROM SD_pipls_specialisations_rel WHERE `specialisation_id` = 154)
AND pipls.section_id = 526
AND t4.object_group = 'com_pipls'
GROUP BY pipls.id
ORDER BY `order_num` desc, `fullname` asc
жирным я выделил то что сейчас попытался добавить.
В итоге список ожидаемо сократился только до тех людей, для которых есть отзывы.
А как сделать так что если нет отзывов то люди бы тоже включались в выборку, т.е. чтобы она работала так же как и до моих правок + отзывы для тех для которых они есть?
вместо inner нужен left
hrach, это было первое что я попробовал - результат запроса это не изменило. Изменение INNER на LEFT везде или только в моей правке не меняет результат.
вы "отсекаете" вот этим:
нужно это перенести в условие join-а
ну либо совсем изврат:
where
.....
AND (t4.object_group = 'com_pipls' or t4.object_group is null)
.....
Попробовал так. результат не изменился...
AS rate, pipls.comments, pipls.hits, pipls.photo, pipls.fullname, t4.description,
CONCAT_WS('-', pipls.id, pipls.alias) AS item_alias,
CONCAT_WS('-', t2.id, t2.alias) AS category_alias,
CONCAT_WS('-', t3.id, t3.alias) AS section_alias
FROM SD_pipls_items AS pipls
INNER JOIN SD_pipls_categories AS t2 ON pipls.category_id = t2.id
INNER JOIN SD_pipls_sections AS t3 ON pipls.section_id = t3.id
INNER JOIN SD_comments_items AS t4 ON pipls.id = t4.object_id or t4.object_id IS NULL
WHERE pipls.id IN (SELECT `pipl_id` FROM SD_pipls_specialisations_rel WHERE `specialisation_id` = 154)
AND pipls.section_id = 526
AND t4.object_group = 'com_pipls' or t4.object_group IS NULL
GROUP BY pipls.id
ORDER BY `order_num` desc, `fullname` asc
Попробовал так. результат не изменился...
вам нужен left/right
left join
как указали выше
ivan-lev, большое спасибо! Так же важно тут что АНД нужно было поднять к Лефту.
P.S.
Господа, как вы понимаете когда нужно использовать ЛЕФТ или Иннер, где про это понятно почитать?
ivan-lev, большое спасибо! Так же важно тут что АНД нужно было поднять к Лефту.
P.S.
Господа, как вы понимаете когда нужно использовать ЛЕФТ или Иннер, где про это понятно почитать?
простым языком
inner - подразумевает, что условие должно выполняться всегда, т.е. каждой записи из таблицы 1 соответствует запись из таблицы 2
left/right - означает, что соответствующей записи из таблицы 1 в таблице 2 может и не быть (в этом случае поле таблицы 2 содержит значение NULL).
https://www.sql.ru/docs/sql/u_sql/
ANSI SQL
https://www.google.com/search?newwindow=1&rlz=1C1AOHY_ruRU712RU712&sxsrf=ACYBGNTHkS28SA2DK6DrbpZYo4aDE3MOmg%3A1572288527289&ei=Dzi3Xf-iEYasrgTInpqoBA&q=ansi+sql+%D1%83%D1%87%D0%B5%D0%B1%D0%BD%D0%B8%D0%BA&oq=ansi+sql+&gs_l=psy-ab.3.5.0i67j0l3j0i20i263j0l3j0i67j0.99335.107383..110318...0.1..0.135.329.3j1......0....1..gws-wiz.......0i71j35i39j0i7i30j0i203.qwf0PmbuxBA
простым языком
Если Left, то к левой таблице (целиком) "лепим" те строки из правой, которые подходят по условию "ON"..
простым языком
inner - подразумевает, что условие должно выполняться всегда, т.е. каждой записи из
Спасибо, теперь понял!!!