我在 BigQuery 中收到此错误: 错误:语法错误:2:1 预期:查询结束但得到:“CASE”
我正在使用的查询是:
SELECT DISTINCT
CASE
WHEN
t1.x<=t2.x
THEN
t1.x
ELSE
t2.x
END id1,
CASE
WHEN
t1.x<=t2.x
THEN
t2.x
ELSE
t1.x
END id2
FROM test1 t1
CROSS JOIN test1 t2
WHERE NOT t1.x = t2.x
适用于 mysql 但不适用于 BigQuery。
最佳答案
我认为 Bigquery 不支持 SELECT DISTINCT
。相反,使用子查询和group by
:
SELECT id1, id2
FROM (SELECT (CASE WHEN t1.x <= t2.x THEN t1.x ELSE t2.x END) as id1,
(CASE WHEN t1.x <= t2.x THEN t2.x ELSE t1.x END) as id2
FROM test1 t1 CROSS JOIN
test1 t2
WHERE NOT t1.x = t2.x
) t
GROUP BY id1, id2;
关于mysql - BigQuery 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27607864/