Объединения таблиц, работают по разному - MySQL
Формулировка задачи:
Мне надо вывести статьи, которые относятся ко 2 категории, если напишу, через запятую, то работает, как надо
А если использую JOIN, то выводит нужные статьи, но не выводит нужную категорию, то есть всегда выводит 1 категорию, то есть AND question.cat_id = 2 не работает, почему?
написать
SELECT question.name, category.name AS cat_name, question.id, question.user_name, question.data, question.status, question.answer, question.user_email FROM question, category WHERE category.id = 2 AND question.cat_id = 2 GROUP BY question.name
SELECT question.name, category.name AS cat_name, question.id, question.user_name, question.data, question.status, question.answer, question.user_email FROM question INNER JOIN category ON cat_id = 2 AND question.cat_id = 2 GROUP BY question.name
Я разобрался, надо вместо
ON cat_id = 2 AND question.cat_id = 2
ON category.id = 2 AND question.cat_id = 2
Решение задачи: «Объединения таблиц, работают по разному»
textual
Листинг программы
FROM question INNER JOIN category ON category.id = AND question.cat_id AND question.cat_id = 2 GROUP BY question.name
Объяснение кода листинга программы
В данном коде происходит объединение двух таблиц: question
и category
по полю id
. Далее, происходит фильтрация результатов по значению поля cat_id
равному 2. Результаты группируются по полю name
.
Вот как это выглядит в виде списка:
FROM question INNER JOIN category ON category.id = AND question.cat_id AND question.cat_id = 2
GROUP BY question.name
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д