Mysql BigQuery语法错误

Mysql BigQuery语法错误,mysql,google-bigquery,Mysql,Google Bigquery,我在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

我在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。而是使用子查询和分组依据:


我认为Bigquery不支持SELECT DISTINCT。而是使用子查询和分组依据:


如果您将END id1更改为END id1,它是否会更改任何内容?如果您将END id1更改为END id1,它是否会更改任何内容?
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;