У меня есть эта таблица:JOIN несколько таблиц с результатами на той же колонке
Table1
--------------------
id | category
--------------------
1 | Cat1
2 | Cat2
3 | Cat3
Для каждой категории, у меня есть таблицы с подразделами, и соответствующий идентификатор категории, например:
Table2
--------------------------------
id | subcategory | category_id
--------------------------------
1 | subcat1 | 1
2 | subcat2 | 1
3 | subcat3 | 1
4 | subcat4 | 1
Таблица3
--------------------------------
id | subcategory | category_id
--------------------------------
1 | subcat5 | 2
2 | subcat6 | 2
3 | subcat7 | 2
4 | subcat8 | 2
Я хочу запросить мои данные, так что я получаю следующее:
-----------------------------------------------------
category | subcategory (from Table2 and Table3)
-----------------------------------------------------
Cat1 | subcat1
Cat1 | subcat2
Cat1 | subcat3
Cat1 | subcat4
Cat2 | subcat5
Cat2 | subcat6
Cat2 | subcat7
Cat2 | subcat8
Cat3 | NULL
Я пытался что-то вроде этого, но помещает данные из каждой таблицы на новой колонке.
SELECT Table1.category, Table2.subcategory , Table3.subcategory
FROM Table1
LEFT JOIN Table2 ON Table1.id=Table2 .category_id
LEFT JOIN Table3 ON Table1.id=Table3.category_id
Я новичок.
Спасибо!
t1 Выравнивание по левому краю (t2 t3 UNION ALL) – jarlh
Это ужасный дизайн, почему одна таблица в каждой категории, а не только одной таблицы? – Lamak
@ Ламак прав. Если вам разрешено изменять дизайн базы данных, сделайте это СЕЙЧАС и поместите все подкатегории только в 1 таблицу. – Woozar