Объединения таблиц, работают по разному - MySQL

Узнай цену своей работы

Формулировка задачи:

Мне надо вывести статьи, которые относятся ко 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
А если использую 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 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. Вот как это выглядит в виде списка:

  1. FROM question INNER JOIN category ON category.id = AND question.cat_id AND question.cat_id = 2
  2. GROUP BY question.name

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5