Сделать выборку из двух таблиц - 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. Выборка осуществляется по следующему условию:

  1. q.id=e.id_task - выбираются все записи из таблицы tasks, у которых значение идентификатора (id) соответствует значению идентификатора задачи (id_task) в таблице tags.
  2. w.id=e.id_tag - выбираются все записи из таблицы tags, у которых значение идентификатора (id) соответствует значению идентификатора тега (id_tag) в таблице tasks. В результате выборки получаем две колонки: name и title. Значения name берутся из таблицы tasks, а значения title - из таблицы tags.

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

11   голосов , оценка 4 из 5
Похожие ответы