Вывести данные из объединённых таблиц - MySQL
Формулировка задачи:
Есть 2 таблицы, в одной пользователи, а в другой задачи.
Мне надо сделать, что бы выводились задачи у конкретного пользователя.
Я у меню выводить задачи у всех пользователей
Но не могу вывести задачи, у конкретного пользователя, если напишу
то будет ошибка, как это сделать?
SELECT login, description FROM USER, task WHERE task.assigned_user_id = USER.id
SELECT login, description FROM USER, task WHERE task.assigned_user_id = USER.id WHERE `login` = 'Dima'
Решение задачи: «Вывести данные из объединённых таблиц»
textual
Листинг программы
SELECT * FROM task WHERE assigned_user_id IN (SELECT id FROM USER WHERE login = 'Dima')
Объяснение кода листинга программы
- Создаётся запрос SELECT для выбора всех данных из таблицы
task. - В условии WHERE указывается, что нужно выбрать только те строки, в которых значение поля
assigned_user_idсодержится в результате запроса SELECT, который выполняется в скобках. - Внутри скобок находится ещё один запрос SELECT, который выбирает все строки из таблицы
USER, в которых значение поляloginравно 'Dima'. - Результатом выполнения внешнего запроса SELECT будет набор данных из таблицы
task, в которых значение поляassigned_user_idсоответствует значению поляidв таблицеUSERдля пользователя с логином 'Dima'.