我正在使用Google Cloud Platform BigQuery SQL。
我有一个表[myTable],正在编写以下SQL。我想将此SQL的结果附加到myTable上,但是到目前为止,我所能做的就是每次运行SQL时都替换myTable。
有人可以告诉我将查询结果追加到现有表的SQL语句是什么吗?
CREATE OR REPLACE myTable -- myTable will be replace every time...
SELECT
id,
parameter1,
parameter2
FROM
third_party_managerd_table
答案 0 :(得分:1)
以下是用于BigQuery标准SQL
#standardSQL
INSERT `project.dataset.yourtable` (id, parameter1, parameter2)
SELECT
id,
parameter1,
parameter2
FROM
`project.dataset.third_party_managerd_table`
在此处查看有关BigQuery DML的更多信息-https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax
答案 1 :(得分:0)
如果您正在使用bq
命令行工具运行查询,则可以将其与--noreplace
参数一起使用,以确保将数据追加到现有表中。方法如下:
bq --location=US query --noreplace --destination_table='project.dataset.yourtable' 'SELECT id, parameter1, parameter2 from `project.dataset.third_party_managerd_table`'
希望这会有所帮助。
答案 2 :(得分:0)
也可以通过使用新查询创建一个新表并将其插入到“myTable”中来完成
CREATE OR REPLACE new_info
SELECT
id,
parameter1,
parameter2
FROM
third_party_managerd_table;
INSERT INTO myTable
SELECT
n.*
FROM
new_info n;