Как написать запрос SQL, чтобы получить данные об отношениях?MySql

Форум по Mysql
Anonymous
Как написать запрос SQL, чтобы получить данные об отношениях?

Сообщение Anonymous »

Скажите, можно ли получить все данные из 4 таблиц с одним запросом SQL? Продукт может иметь 1 категорию, многие конфигурации, в которых многие варианты.{
"product_1": {
"name": "product1",
"category": "cat1",
"equipments": {
"0": {
"name": "equip1",
"options": {
"options1": "options 1",
"options2": "options 2",
"options3": "options 3"
}
},
"1": {
"name": "equip2",
"options": {
"options1": "options 3",
"options2": "options 2"
}
}
}
},
"product_2": {
"name": "product2",
"category": "cat2",
"equipments": {
"0": {
"name": "equip1",
"options": {
"options1": "options 1",
"options2": "options 3"
}
},
"1": {
"name": "equip2",
"options": {
"options1": "options 3"
}
}
}
}
}
< /code>
Можно ли получить это с одним запросом? Я уже устал от этих функций join и json_arrayagg, это не работает, я пытался их объединить, ничего ... может быть, я трачу свое время и должен ли я использовать несколько запросов? Или можно получить все данные для всех соединений в одном запросе? Я пишу в PHP с помощью PDO. Пожалуйста, помогите мне с моей проблемой. Здесь я смог получить значение только от двух таблиц «Оборудование» и «Опции», затем я попытался объединить еще одно соединение, и это вообще не работает. < /P>
$stmt = $link->prepare("select equipment.*, JSON_ARRAYAGG(JSON_OBJECT(
'name', options.name,
'descript', options.descript
)) AS Options FROM equipment
LEFT JOIN options ON equipment.id=options.equipment_id GROUP BY equipment.id
");


Подробнее здесь: https://stackoverflow.com/questions/796 ... ationships

Вернуться в «MySql»