How do I use BigQuery DML to transform some fields of a struct nested within an array, within a struct, within an array?
On December 11, 2021 by Anne WilliamsI think this is a more complex version of the question in Update values in struct arrays in BigQuery.
I’m trying to update some of the fields in a struct, where the struct is heavily nested. I’m having trouble creating the SQL to do it. Here’s my table schema:
CREATE TABLE `my_dataset.test_data_for_so`
(
date DATE,
hits ARRAY<STRUCT<search STRUCT<query STRING, other_column STRING>, metadata ARRAY<STRUCT<key STRING, value STRING>>>>
);
This is what the schema looks like in the BigQuery GUI after I create the table:
Here’s the data I’ve inserted:
INSERT INTO `my_dataset.test_data_for_so` (date, hits)
VALUES (
CAST('2021-01-01' AS date),
[
STRUCT(
STRUCT<query STRING, other_column STRING>('foo bar', 'foo bar'),
[
STRUCT<key STRING, value STRING>('foo bar', 'foo bar')
]
)
]
)
My goal is to transform the “search.query” and “metadata.value” fields. For example, uppercasing them, leaving every other column (and every other struct field) in the row unchanged.
I’m looking for a solution involving either manually specifying each column in the SQL, or preferably, one where I can only mention the columns/fields I want to transform in the SQL, omitting all other columns/fields. This is a minimal example. The table I’m working on in production has hundreds of columns and fields.
For example, that row, when transformed this way, would change from:
[
{
"date": "2021-01-01",
"hits": [
{
"search": {
"query": "foo bar",
"other_column": "foo bar"
},
"metadata": [
{
"key": "foo bar",
"value": "foo bar"
}
]
}
]
}
]
to:
[
{
"date": "2021-01-01",
"hits": [
{
"search": {
"query": "FOO BAR",
"other_column": "foo bar"
},
"metadata": [
{
"key": "foo bar",
"value": "FOO BAR"
}
]
}
]
}
]
About Annie
Latest Posts
Lab Grown Diamonds Madrid: Elegant, Ethical Jewelry for Modern Love
Emerald Engagement Rings Sydney: The Perfect Blend of Colour, Luxury, and Modern Romance
Best Lab Grown Diamonds UK for Smart Buyers
Rose Gold Rings Guide: Style, Value, and Choices
Begin With the Diamond Why Lab Diamonds Are the Modern Choice
Round Diamond Ring Guide with Lab Grown Diamonds
Lab Diamond Tennis Necklaces Buying Guide
Engagement Rings: Halo Settings and Lab-Grown Diamonds – A Modern Approach to Elegance
Lab Diamond Engagement Rings: Modern Love, Brilliant Choice
Lab-Grown Diamonds vs Real Diamonds: Key Differences, Benefits, and Buying Guide
Invertir en Diamantes Rosados y Diamantes de Laboratorio
The electricity of diamond 4cs and lab made diamonds: A complete manual for contemporary customers
Cushion Diamond vs Man Made Diamonds: A Clear Guide for Modern Buyers
Buying Lab Grown Diamonds Pendants Without Confusion
Diamond Initials Are Becoming Australia’s Most Personal Jewellery Trend
Recent Posts
Lab Grown Diamonds Madrid: Elegant, Ethical Jewelry for Modern Love
Emerald Engagement Rings Sydney: The Perfect Blend of Colour, Luxury, and Modern Romance
Best Lab Grown Diamonds UK for Smart Buyers
Rose Gold Rings Guide: Style, Value, and Choices
Begin With the Diamond Why Lab Diamonds Are the Modern Choice
Round Diamond Ring Guide with Lab Grown Diamonds
Lab Diamond Tennis Necklaces Buying Guide
Engagement Rings: Halo Settings and Lab-Grown Diamonds – A Modern Approach to Elegance
Lab Diamond Engagement Rings: Modern Love, Brilliant Choice
Lab-Grown Diamonds vs Real Diamonds: Key Differences, Benefits, and Buying Guide
Invertir en Diamantes Rosados y Diamantes de Laboratorio
The electricity of diamond 4cs and lab made diamonds: A complete manual for contemporary customers
Cushion Diamond vs Man Made Diamonds: A Clear Guide for Modern Buyers
Buying Lab Grown Diamonds Pendants Without Confusion
Diamond Initials Are Becoming Australia’s Most Personal Jewellery Trend
More To View
Lab Grown Diamonds Madrid: Elegant, Ethical Jewelry for Modern Love
Emerald Engagement Rings Sydney: The Perfect Blend of Colour, Luxury, and Modern Romance
Best Lab Grown Diamonds UK for Smart Buyers
Rose Gold Rings Guide: Style, Value, and Choices
Begin With the Diamond Why Lab Diamonds Are the Modern Choice
Round Diamond Ring Guide with Lab Grown Diamonds
Lab Diamond Tennis Necklaces Buying Guide
Engagement Rings: Halo Settings and Lab-Grown Diamonds – A Modern Approach to Elegance
Lab Diamond Engagement Rings: Modern Love, Brilliant Choice
Lab-Grown Diamonds vs Real Diamonds: Key Differences, Benefits, and Buying Guide
Invertir en Diamantes Rosados y Diamantes de Laboratorio
The electricity of diamond 4cs and lab made diamonds: A complete manual for contemporary customers
Cushion Diamond vs Man Made Diamonds: A Clear Guide for Modern Buyers
Buying Lab Grown Diamonds Pendants Without Confusion
Diamond Initials Are Becoming Australia’s Most Personal Jewellery Trend
Popular Posts
Lab Grown Diamonds Madrid: Elegant, Ethical Jewelry for Modern Love
Emerald Engagement Rings Sydney: The Perfect Blend of Colour, Luxury, and Modern Romance
Best Lab Grown Diamonds UK for Smart Buyers
Rose Gold Rings Guide: Style, Value, and Choices
Begin With the Diamond Why Lab Diamonds Are the Modern Choice
Round Diamond Ring Guide with Lab Grown Diamonds
Lab Diamond Tennis Necklaces Buying Guide
Engagement Rings: Halo Settings and Lab-Grown Diamonds – A Modern Approach to Elegance
Lab Diamond Engagement Rings: Modern Love, Brilliant Choice
Lab-Grown Diamonds vs Real Diamonds: Key Differences, Benefits, and Buying Guide


