У меня есть главная таблица с именем "product"
, которая связана с тремя таблицами:
"product_type",
"feature",
"type_feature"
и кросс-таблица "product_feature"
, содержащая несколько функций одного и того же продукта.
Пример первой записи:
У меня есть что-то похожее на это:
product_type
id_product_type name
1 Phone
особенность
id_feature name
1 Memory
2 Color
3 Memory Ram
FEATURE_TYPE
id_feature_type id_feature value
1 1 16GB
2 1 32GB
3 2 Blue
4 2 Black
5 3 2GB
6 3 3GB
продукт
id_product id_product_type price quantity model
1 1 100$ 5 Moto-G7
Кросс-таблица "product_feature" (связана с "product", "feature" и "feature_type"):
id_feature id_product id_feature_type
1 1 1
2 1 3
3 1 6
Я хочу запрос показать это:
id_product type_name price quantity model feature_name value
1 Phone 100$ 5 Moto-G7 Memory 16GB
feature_name2 value2 feature_name3 value3
Color Blue Memory Ram 3GB
Я пробовал это, но только у меня есть только одно имя_функции и значение, а мне нужно три:
SELECT p.id_product, pt.name, model, price, quantity, f.name AS feature, ft.value
FROM product p
LEFT JOIN product_type pt ON pt.id_product_type = p.id_product_type
LEFT JOIN product_feature pf ON pf.id_product = p.id_product
LEFT JOIN feature f ON f.id_feature = pf.id_feature
LEFT JOIN feature_type ft ON ft.id_feature_type = pf.id_feature_type
GROUP BY p.id_product;