у меня 4 таблицы.Таблица не содержит foreign key
ссылки
t1:
| id | name |
+-----+----------------+
| a1 | cheese |
| a2 | butter |
| a3 | milk |
t2:
| id | name | t1_id |
+-----+-------------+--------------+
| b1 | item1 | a1 |
| b2 | item2 | a2 |
| b3 | item3 | a3 |
t3:
| id | name | t2_id |
+-----+-------------+--------------+
| c1 | item4 | b1 |
| c2 | item5 | b2 |
| c3 | item6 | b3 |
t4:
| id | name | t3_id |
+-----+-------------+--------------+
| d1 | item7 | c2 |
| d2 | item8 | c3 |
Мне нужно получить все связанные данные.
Когда я указываю 'a1', я ожидаю что-то как,
| name | name | name | name |
+----------+-------------+--------------+--------------+
| cheese | item1 |item4 | |
Я использовал следующий запрос,
SELECT a.name, b.name, c.name, d.name FROM t1 AS a
INNER JOIN t2 AS b ON b.id = c.id
INNER JOIN t3 AS c ON c.id = b.id
INNER JOIN t4 AS d ON d.id = c.id;
Это не приводит к получению результата, как INNER JOIN t4 AS d ON d.id = c.id
не имеют соответствующего значения.
Как вернуть промежуточный результат?Оптимизирован ли этот запрос (или) я должен написать отдельные запросы для получения этого?Как этого добиться?