Сделать выборку из двух таблиц - MySQL (219932)
Формулировка задачи:
Всем доброго вечера!
Прошу помощи на составление sql-запроса.
Задача: есть две таблицы - users и orders. Надо сделать выборку всех заказов конкретного пользователя.
Что-то вроде такого:
Но это не работает. Где тут ошибка?
Но все равно не работает. Почему?
SELECT USER.id, USER.name FROM `users` USER WHERE USER.id = 7 JOIN `orders` ON id_user = USER.id
Переписал запрос
SELECT * FROM users JOIN orders ON orders.id_user = users.id WHERE users.id = 7
В общем все переигралось, но все равно не получается выполнить задачу.
Есть три таблицы:
tasks - задания
tags - теги к заданиям
relation - отношения между заданиями и тегами
таблица tasks
id | name | desc
Таблица tags
id | title
Таблица relation
id_tag | id_task
Вот как мне правильно построить запрос, чтобы выбрать один task и все его теги?
Решение задачи: «Сделать выборку из двух таблиц»
textual
Листинг программы
SELECT q.name, w.title FROM tasks q, tags w, relation e WHERE q.id=e.id_task AND w.id=e.id_tag
Объяснение кода листинга программы
В данном коде происходит выборка данных из двух таблиц: tasks
и tags
.
Выборка осуществляется по следующему условию:
q.id=e.id_task
- выбираются все записи из таблицыtasks
, у которых значение идентификатора (id) соответствует значению идентификатора задачи (id_task) в таблицеtags
.w.id=e.id_tag
- выбираются все записи из таблицыtags
, у которых значение идентификатора (id) соответствует значению идентификатора тега (id_tag) в таблицеtasks
. В результате выборки получаем две колонки:name
иtitle
. Значенияname
берутся из таблицыtasks
, а значенияtitle
- из таблицыtags
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д