Я пытаюсь объединить 4 таблицы, чтобы получить соответствующие данные для предметов одежды, что-то вроде этого, выбирая для каждого элемента ..Вложенные подзапросы с соединениями
Array(
[0] => array ([item] => 1, [article] => 10, [layer1] => 6, [layer2] => 8, [layer3] => 9, [layer4] => 10),
[1] => array ([item] => 2, [article] => 5, [layer1] => 3, [layer2] => 4, [layer3] => 5, [layer4] => 0/null),
[2] => array ([item] => 3, [article] => 7, [layer1] => 7, [layer2] => 0/null etc),
[3] => array ([item] => 4, [article] => 1, [layer1] => 1, [layer2] => 2, [layer3] => 0/null etc))
Я не был уверен, как гнездо и присоединяться к этим таблицам для получения правильных данных, но все 4 таблицы (к сожалению) необходимы для хранения различных бит сортировки и предварительного просмотра данных, а самые дальнейшие таблицы - деревом (article_layers и layer), требующим нескольких соединений строк. Таблицы скелета показаны ниже.
items table
item_id item_article item_name
1 10 red dress
2 5 green polo
3 7 jeans
4 1 black leather jacket
5 10 black dress
articles table
article_id article_name
1 jacket
5 shirt
7 pants
10 dress
article_layers table
id article_id layer_id
1 1 1
2 1 2
3 5 3
4 5 4
5 5 5
6 7 7
7 10 6
8 10 8
9 10 9
10 10 10
layers table
layer_id layer_name
1 jacket_right_sleeve
2 jacket_left_sleeve
3 shirt_right_sleeve
4 shirt_left_sleeve
5 shirt_torso
6 dress_torso
7 pants
8 dress_left_sleeve
9 dress_right_sleeve
10 dress_skirt
Я попытался
SELECT items.*, articles.*, article_layers.*, layers.*,
(SELECT * FROM layers where article_layers.layer_id = layers.layer_id) as layer1,
FROM items
JOIN articles ON items.article_id = articles.article_id
JOIN article_layers ON articles.article_id = article_layers.article_id
и много подобных запросов, но я не могу найти волшебную формулу для извлечения данных, что мне нужно. Любая помощь приветствуется.