Я импортировал данные из Firestore в BigQuery. Структура моих данных похожа на эту:
data = [
{
id: "item1",
status: {
options: [
{
title: "Approved",
color: "#00ff00"
},
{
title: "Rejected",
color: "#ff0000"
},
{
title: "Pending",
color: "#ffaa00"
}
],
optionIndex: 0
}
},
{
id: "item2",
status: {
options: [
{
title: "Validated",
color: "#00ff00"
},
{
title: "Invalidated",
color: "#ff0000"
}
],
optionIndex: 1
}
}
];
Я успешно запустил запрос для извлечения таких ключевых значений, как id:
SELECT
JSON_EXTRACT(data, '$.id') AS item_id,
JSON_EXTRACT(data, '$.status.optionIndex') AS option_index
FROM `my_bigquery_table`
Однако я не могу найти решение выбрать status.options [status.options.optionIndex] , где я могу получить заголовок и цвет статуса в таблице. Результат, к которому я стремился:
id,status_title,status_color
item1,Approved,#00ff00
item2,Invalidated,#ffaa00
(у меня все хорошо с большинством базовых c SQL, включая объединения, но получение массивов статуса в запрашиваемую структуру, где я могу выбрать индекс не был в моем уровне)