Select 除双嵌套列外的BigQuery

Select 除双嵌套列外的BigQuery,select,google-bigquery,bigquery-standard-sql,Select,Google Bigquery,Bigquery Standard Sql,Hi需要从我的表中排除hits.latencyTracking.userTimingLabel列,并选择所有其他列。如何在标准Sql中执行此操作? 我已经在一个类似的问题上发现了一个问题,但在我的例子中,我有一个双嵌套列,我无法修改代码。 谢谢如果hits是一个数组,latencyTracking是一个结构,那么: SELECT ARRAY(SELECT (SELECT AS STRUCT latencyTracking.* EXCEPT(userTimingLabel)) AS latency

Hi需要从我的表中排除hits.latencyTracking.userTimingLabel列,并选择所有其他列。如何在标准Sql中执行此操作? 我已经在一个类似的问题上发现了一个问题,但在我的例子中,我有一个双嵌套列,我无法修改代码。 谢谢

如果hits是一个数组,latencyTracking是一个结构,那么:

SELECT ARRAY(SELECT (SELECT AS STRUCT latencyTracking.* EXCEPT(userTimingLabel)) AS latencyTracking FROM UNNEST(hits)) AS hits
FROM YourTable;
和您的问题之间的区别在于hits是一个数组。以下是如何从结构数组中排除列:

SELECT * REPLACE 
 (ARRAY(SELECT AS STRUCT * EXCEPT(page) FROM UNNEST(hits) h) AS hits)
FROM `google.com:analytics-bigquery.LondonCycleHelmet.ga_sessions_20130910`

以下是我的几分钱: 我想这正好回答了你的问题/情况

标准SQL 选择*替换 大堆 选择作为结构命中。* REPLACESELECT作为结构latencyTracking.*将UserTimingLabel作为latencyTracking除外 从未命中到命中 命中率 来自“yourProject.yourDataset.yourTable” 我在公共桌面上测试了它,如下所示:

标准SQL 选择*替换 大堆 选择作为结构命中。* 替换选择为结构页。*除主机名为页外 从未命中到命中 命中率 来自“google.com:analytics-bigquery.londoncycleehelmet.ga_sessions_20130910”`
如果我的回答帮助你解决了,你也接受了,请考虑投票。有关更多信息,请参阅中的at和Upvote部分。非常感谢。