Я использую 8.0.18-commercial
и пишу следующий запрос MySQL
для формирования cross join with JSON documents
.
Обратите внимание, что количество записей в servers[]
совпадает с количеством записей в objectIds[]
В servers[]
должна быть одна запись, соответствующая записи в objectIds[]
SELECT t1.networkInfo->>"$.*" AS network,
t1.objectIds,
j.server
FROM table1 t1
CROSS JOIN JSON_TABLE(t1.servers,
"$[*]" COLUMNS (
server VARCHAR(20) PATH '$'
)
) j
WHERE t1.id = 56
Вывод
network server objectIds
["abc.com", "Linux123", "RHEL"] Server123 ["objectId123", "objectId1231", "objectId1232"]
["abc.com", "Linux123", "RHEL"] Server1231 ["objectId123", "objectId1231", "objectId1232"]
["abc.com", "Linux123", "RHEL"] Server1232 ["objectId123", "objectId1231", "objectId1232"]
Я хочу добавить еще одно объединение в запрос, чтобы вывод выглядел следующим образом:
Ожидаемый вывод
network server objectIds
["abc.com", "Linux123", "RHEL"] Server123 objectId123
["abc.com", "Linux123", "RHEL"] Server1231 objectId1231
["abc.com", "Linux123", "RHEL"] Server1232 objectId1232