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
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
Engagement Rings Parramatta and the Truth About Lab Diamonds
Toi et Moi: Why This Two-Stone Style Keeps Stealing Hearts
What Is Generative AI? A Complete Beginner’s Guide
The Sparkling Future of Diamond Ring Malaysia and Man Made Diamonds
The Timeless Allure of Round Engagement Rings in New Zealand
Truth Beneath the Sparkle: What I Learned About Lab Made Diamonds vs Real
Why Lab Grown Diamond Initials Are the New Personal Statement in Jewellery
Oval Engagement Rings in Australia (with Lab Made Diamonds) Are Taking OverTop Product Engineering Trends to Watch in 2025 and Beyond
GIA vs IGI: What You Need to Know About Lab Grown Diamonds
Recent Posts
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
Engagement Rings Parramatta and the Truth About Lab Diamonds
Toi et Moi: Why This Two-Stone Style Keeps Stealing Hearts
What Is Generative AI? A Complete Beginner’s Guide
The Sparkling Future of Diamond Ring Malaysia and Man Made Diamonds
The Timeless Allure of Round Engagement Rings in New Zealand
Truth Beneath the Sparkle: What I Learned About Lab Made Diamonds vs Real
Why Lab Grown Diamond Initials Are the New Personal Statement in Jewellery
Oval Engagement Rings in Australia (with Lab Made Diamonds) Are Taking OverTop Product Engineering Trends to Watch in 2025 and Beyond
GIA vs IGI: What You Need to Know About Lab Grown Diamonds
More To View
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
Engagement Rings Parramatta and the Truth About Lab Diamonds
Toi et Moi: Why This Two-Stone Style Keeps Stealing Hearts
What Is Generative AI? A Complete Beginner’s Guide
The Sparkling Future of Diamond Ring Malaysia and Man Made Diamonds
The Timeless Allure of Round Engagement Rings in New Zealand
Truth Beneath the Sparkle: What I Learned About Lab Made Diamonds vs Real
Why Lab Grown Diamond Initials Are the New Personal Statement in Jewellery
Oval Engagement Rings in Australia (with Lab Made Diamonds) Are Taking OverTop Product Engineering Trends to Watch in 2025 and Beyond
GIA vs IGI: What You Need to Know About Lab Grown Diamonds
Popular Posts
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
Engagement Rings Parramatta and the Truth About Lab Diamonds
Toi et Moi: Why This Two-Stone Style Keeps Stealing Hearts
What Is Generative AI? A Complete Beginner’s Guide
The Sparkling Future of Diamond Ring Malaysia and Man Made Diamonds
The Timeless Allure of Round Engagement Rings in New Zealand


