Составление сложного запроса, выборка по двум таблицам - MySQL
Формулировка задачи:
в общем есть 2 таблицы, `template` и `template_design`, поля такие
`template` = id,name.
`template_design` = id, id_template, layout.
нужно вывести только те строки из `template_design` у которых будет id_template равняться значению id в таблице `template`,
тоесть у меня получается так, я вывожу все на страницу все template, и в каждом template выводится все template_design, тоесть получается что то типа дерева
Решение задачи: «Составление сложного запроса, выборка по двум таблицам»
textual
Листинг программы
SELECT * FROM template_design q WHERE q.id_template IN (SELECT w.id FROM template w)
Объяснение кода листинга программы
- Создается запрос на выборку данных из таблицы
template_design - В запросе используется условие
WHERE, которое фильтрует результаты по полюid_template - В скобках
(SELECT w.id FROM template w)находится подзапрос, который выбираетidиз таблицыtemplate - Подзапрос возвращает список
id, которые затем используются в основном запросе - Основной запрос возвращает все поля из таблицы
template_design, соответствующие найденнымid_template