Объединения таблиц, работают по разному - 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.nameSELECT 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 = 2GROUP BY question.name