Google bigquery BigQuery:展平嵌套模式中的所有重复字段
我在从大查询的嵌套模式进行查询时遇到了很多麻烦。 我有以下字段 我想把桌子弄平,弄点像这样的东西 用户|问题| id |用户|选择 123 | 1 | 1 123 | 1 | 2 123 | 1 | 3 123 | 1 | 4 从其他资源中,我可以查询重复列中的一条记录。例如: 从表名中选择用户,dat.question\u id,UNNEST(data)dat 它给了我这个结果。 但是当我这样做的时候,我又得到了一个重复的专栏 从tablename、UNNEST(data)dat中选择user、dat.question\u id、dat.user\u选项 有谁能帮助我如何正确地取消这个表的测试,这样我就可以为所有数据项设置平坦的模式Google bigquery BigQuery:展平嵌套模式中的所有重复字段,google-bigquery,bigquery-standard-sql,unnest,Google Bigquery,Bigquery Standard Sql,Unnest,我在从大查询的嵌套模式进行查询时遇到了很多麻烦。 我有以下字段 我想把桌子弄平,弄点像这样的东西 用户|问题| id |用户|选择 123 | 1 | 1 123 | 1 | 2 123 | 1 | 3 123 | 1 | 4 从其他资源中,我可以查询重复列中的一条记录。例如: 从表名中选择用户,dat.question\u id,UNNEST(data)dat 它给了我这个结果。 但是当我这样做的时候,我又得到了一个重复的专栏 从tablename、UNNEST(data)dat中选择us
谢谢 下面是BigQuery标准SQL
#standardSQL
SELECT user, question_id, choice
FROM `project.dataset.table`,
UNNEST(data) question,
UNNEST(user_choices) choice
您可以使用下面问题中的虚拟数据来测试、玩上面的游戏
#standardSQL
WITH `project.dataset.table` AS (
SELECT 1 user,
[STRUCT<question_id INT64, user_choices ARRAY<INT64>>
(1,[1,2,3]),
(2,[2,5]),
(3,[1,3])
] data UNION ALL
SELECT 2 user,
[STRUCT<question_id INT64, user_choices ARRAY<INT64>>
(1,[2,3]),
(2,[4,5]),
(3,[2,6])
] data
)
SELECT user, question_id, choice
FROM `project.dataset.table`,
UNNEST(data) question,
UNNEST(user_choices) choice
ORDER BY user, question_id, choice
下面是BigQuery标准SQL
#standardSQL
SELECT user, question_id, choice
FROM `project.dataset.table`,
UNNEST(data) question,
UNNEST(user_choices) choice
您可以使用下面问题中的虚拟数据来测试、玩上面的游戏
#standardSQL
WITH `project.dataset.table` AS (
SELECT 1 user,
[STRUCT<question_id INT64, user_choices ARRAY<INT64>>
(1,[1,2,3]),
(2,[2,5]),
(3,[1,3])
] data UNION ALL
SELECT 2 user,
[STRUCT<question_id INT64, user_choices ARRAY<INT64>>
(1,[2,3]),
(2,[4,5]),
(3,[2,6])
] data
)
SELECT user, question_id, choice
FROM `project.dataset.table`,
UNNEST(data) question,
UNNEST(user_choices) choice
ORDER BY user, question_id, choice
如果有帮助的话,也要考虑一下投票结果:O)如果有帮助的话,也要考虑投票的结果:O)