- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте.
Есть запрос вида
SELECT p.id, e.news_id, e.news_read from dle_post p LEFT JOIN dle_post_extras e on p.id=e.news_id
и другой
SELECT news_id, color, count FROM dle_colors where color='cc9900' ORDER BY count DESC
Как их обьединить в один запрос.
SELECT p.id, e.news_id, e.news_read, c.color, c.count FROM dle_post p LEFT JOIN dle_post_extras e ON p.id=e.news_id LEFT JOIN dle_colors c ON (c.news_id=p.id) WHERE c.color='cc9900' ORDER BY c.count DESC
Требуется объяснение что нужно получить в результате
так мне кажется правильней будет:
SELECT p.id, e.news_id, e.news_read, c.color, c.count FROM dle_post p LEFT JOIN dle_post_extras e ON p.id=e.news_id LEFT JOIN dle_colors c ON (c.news_id=e.news_id AND c.color='cc9900')
ну да. нужно было уточнить.
но спасибо siv1987. его запрос выводит то что мне нужно
так мне кажется правильней будет:
Не правильнее если нужно выбрать только темы определенного цвета. ON - условие объедение таблиц, а с LEFT JOIN селект записи произойдет независимо от того, есть ли в присоединяемой таблицы запись с таким условием или нет, в последнем случае поля просто заполняются значением null. В таком случае нужно либо юзать INNER JOIN, либо условие WHERE c.color IS NOT NULL