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

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

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

Мне надо вывести статьи, которые относятся ко 2 категории, если напишу, через запятую, то работает, как надо
Листинг программы
  1. SELECT question.name, category.name AS cat_name,
  2. question.id,
  3. question.user_name,
  4. question.data,
  5. question.status,
  6. question.answer,
  7. question.user_email
  8. FROM question, category WHERE category.id = 2 AND question.cat_id = 2 GROUP BY question.name
А если использую JOIN, то выводит нужные статьи, но не выводит нужную категорию, то есть всегда выводит 1 категорию, то есть AND question.cat_id = 2 не работает, почему?
Листинг программы
  1. SELECT question.name, category.name AS cat_name,
  2. question.id,
  3. question.user_name,
  4. question.data,
  5. question.status,
  6. question.answer,
  7. question.user_email
  8. FROM question INNER JOIN category ON cat_id = 2 AND question.cat_id = 2 GROUP BY question.name
Я разобрался, надо вместо
Листинг программы
  1. ON cat_id = 2 AND question.cat_id = 2
написать
Листинг программы
  1. ON category.id = 2 AND question.cat_id = 2

Решение задачи: «Объединения таблиц, работают по разному»

textual
Листинг программы
  1. FROM question INNER JOIN category ON category.id = AND question.cat_id AND question.cat_id = 2
  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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут