Помощь в составлении сложного SQL запроса
Как по мимо ``contracts\.``skin_win\, получить ещё ``contracts\.``skins\ при том что там хранятся id в формате json пример:
{
"0": "792",
"1": "785",
"2": "780",
"3": "779",
"4": "776",
"5": "775",
"6": "774",
"7": "773"
}
Код для получения `contracts`.`skin_win` В идеале нужно получить всё одним запросом
SELECT
`contracts`.`result`,
`skins`.`img`,
`skins`.`title`,
`skins`.`name`,
`skins`.`cost`,
`skins`.`rarity`
FROM
`contracts`
INNER JOIN `inventory` ON `contracts`.`skin_win` = `inventory`.`id`
INNER JOIN `skins` ON `inventory`.`item_id` = `skins`.`id`
WHERE
`contracts`.`user_id` = 1
ORDER BY `contracts`.`id` DESC;
В результате мне должно отдать что то по типу
`result`, `skin_win` (если быть точнее его img, title, name, cost, rarity), `skins` (со skins так же как и skin_win, мне должно вернуть все img, title, name, cost, rarity из `skins`)
таблицу оставил здесь если кто то хочет по тестить: https://dropmefiles.com/i0Om9
P.S. Максимум до чего я смог додуматься, но ошибка:
SELECT
c.`result`,
sw.`img` AS winning_skin_img,
sw.`title` AS winning_skin_title,
sw.`name` AS winning_skin_name,
sw.`cost` AS winning_skin_cost,
sw.`rarity` AS winning_skin_rarity,
s.`img` AS skin_img,
s.`title` AS skin_title,
s.`name` AS skin_name,
s.`cost` AS skin_cost,
s.`rarity` AS skin_rarity
FROM
`contracts` c
INNER JOIN
`inventory` i ON c.`skin_win` = i.`id`
INNER JOIN
`skins` sw ON i.`item_id` = sw.`id`
CROSS JOIN
JSON_TABLE(
c.`skins`,
'$.*' COLUMNS (
skin_id INT PATH '$'
)
) AS sk
INNER JOIN
`skins` s ON sk.skin_id = s.`id`
WHERE
c.`user_id` = 1
ORDER BY
c.`id` DESC;