Как написать запрос 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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