将数据从一个 BigQuery 表插入到另一个在 group by 上返回 0 行

莫尔K

我试图通过运行下面显示的查询将数据从一个 BigQuery 表插入到另一个表,但我得到 0 行作为回报。但是,如果我取出Survey列,我会得到正确的行数作为回报。

两个嵌套字段都具有相同类型的架构。我也检查并仔细检查了列名,但似乎无法弄清楚Survey字段有什么问题

INSERT INTO destination_table
(
  Title, Description, Address, Survey
)
SELECT
  Title as Title,
  Description as Description,
  
  [STRUCT(
         ARRAY_AGG(STRUCT(Address_Instance.Field1, Address_Instance.Field2)) AS Address_Record 
  )]
  as Address,
  
  [STRUCT(
         ARRAY_AGG(STRUCT(Survey_Instance.Field1, Survey_Instance.Field2)) AS Survey_Record
  )]
  as Survey
  
FROM
   source_table,
   UNNEST(Survey) AS Survey,
   UNNEST(Survey_Instance) as Survey_Instance,
   
GROUP BY
  Title,
  Description

我的源表的架构如下所示:

[
  {
    "name": "Title",
    "type": "STRING"
  },
  {
    "name": "Description",
    "type": "STRING"
  },
  {
    "name": "Address",
    "type": "RECORD",
    "mode": "REPEATED",
    "fields": [
      {
        "name": "Address_Instance",
        "type": "RECORD",
        "mode": "REPEATED",
        "fields": [
          {
            "name": "Field1",
            "type": "STRING"
          },
          {
            "name": "Field2",
            "type": "STRING"
          }
        ]
      }
    ]
  },
  {
    "name": "Survey",
    "type": "RECORD",
    "mode": "REPEATED",
    "fields": [
      {
        "name": "Survey_Instance",
        "type": "RECORD",
        "mode": "REPEATED",
        "fields": [
          {
            "name": "Field1",
            "type": "STRING"
          },
          {
            "name": "Field2",
            "type": "STRING"
          }
        ]
      }
    ]
  },
]

在映射到目标表时,我重命名嵌套的重复记录,但这不会导致任何问题。我想知道我是否忽略了一些重要的事情并需要一些建议和建议。基本上是一组额外的眼睛来帮助我弄清楚我做错了什么。希望得到一些帮助。提前致谢。

戈登·利诺夫

JOIN一般使用显式s。在这种情况下,请使用LEFT JOIN

FROM source_table st LEFT JOIN
     UNNEST(st.Survey) Survey
     ON 1=1 LEFT JOIN
     UNNEST(Survey.Survey_Instance) Survey_Instance
     ON 1=1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python:在指定索引处将行从一个数据帧插入到另一个数据帧

将值从一个表的行导入到另一个表的标题

将BigQuery表从一个项目导出到另一个项目

如何选择一个表行,然后插入到另一个

将一个表中未包含的行插入到另一个表中

如何使用group by子句将记录从一个表插入另一个表

KDB:如何将行从一个表插入/插入到另一个表

T-SQL仅使用变量中的值而不是一列将行的副本从一个表插入到另一个表

将行从另一个表插入到一个表中,而无需遍历游标

将数据行从C#中的另一个sql表插入到sql表中

如何将特定的数据列和数据行从一个表插入到另一个表?

Python Pandas-在特定行上添加列,将特定行从一个数据框添加到另一个

将范围行从一个数据表添加到另一个

将数据从一个表插入到另一个表中,从而保留已经存在的行

将特定行上的第n列从一个工作表复制到另一个工作表(在Google表格中)

在连接到数据库上另一个表的表中插入新行

将特定行从一个表更新到另一个表

jQuery-将一行从一个表复制到另一个表

如果MySQL中尚不存在将行从一个表插入到另一个表中

使用 pgadmin 将数据行从一个表复制到同一数据库中的另一个表

将选中的行从一个表复制到另一个表

MYSQL 从一个表插入到另一个表但出现错误:子查询返回多于 1 行

BigQuery - 使用 INSERT INTO 将数据从一个嵌套表复制到另一个嵌套表

将 group by 从一个度量插入到另一个度量中

MySQL - 从一个表插入到另一个错误代码:1242。子查询返回超过 1 行

如何将 BigQuery 数据集从一个区域复制到另一个区域?

如何在展平嵌套字段后将数据从一个 bigquery 表流式插入到另一个表?

SQLAlchemy - 如何将行从一个表复制到另一个表?

使用 openpyxl 将数据从一个 Excel 表复制到另一列上的另一个的可能性