BigQuery , 联合问题/错误: 语法错误: 预期的关键字 ALL 或关键字 DISTINCT 但在 [16:3]



目前,我正在尝试将 4 个表连接在一起,只显示 5 列并将它们全部合并到一个表中。

这是查询:

SELECT
id,
platform,
url,
profileImageUrl,
name
FROM (
SELECT
f.id AS id,
f.platform AS platform,
f.url AS url,
f.profileImageUrl AS profileImageUrl,
f.name AS name
FROM
`l.p.link_f_main` AS f UNION
SELECT
i.id AS id,
i.platform AS platform,
i.url AS url,
i.profilePicture AS profileImageUrl,
i.fullName AS name
FROM
`l.p.link_i_main` AS i UNION
SELECT
t.id AS id,
t.platform AS platform,
t.url AS url,
t.profileImageUrl AS profileImageUrl,
t.name AS name
FROM
`l.p.link_t_main` AS t UNION
SELECT
y.id AS id,
y.platform AS platform,
y.url AS url,
y.profileImageUrl AS profileImageUrl,
y.name AS name
FROM
`l.p.link_y_main` AS y ) as main

这是错误:

Error: Syntax error: Expected keyword ALL or keyword DISTINCT but got keyword SELECT at [16:3]

我做错了什么?

答案:

1(对于大查询必须使用UNION ALL而不是UNION

2( 所有联合列的数据类型应相同。 -

  1. 我有一个问题,柱子上的一个STRING-INT64, INT64, INT64, STRING
  2. 所以我将其余列也更改为STRING,以使其工作。

来自文档:UNION { ALL | DISTINCT }.因此,您必须使用UNION ALLUNION DISTINCT(这正是错误消息所说的(。根据HoneyBadger用户提到的,这是正确的解释。

最新更新