Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 加上一句「;“计算字段”;在bigquery中_Sql_Google Bigquery - Fatal编程技术网

Sql 加上一句「;“计算字段”;在bigquery中

Sql 加上一句「;“计算字段”;在bigquery中,sql,google-bigquery,Sql,Google Bigquery,我在bigquery中有一个原始表,我想根据给定的值添加一个“条件”/“计算”列,如下所示: CASE WHEN `columnA`="valueX" THEN `columnB` ELSE NULL AS `valueX` 问题是我不能只说SELECT*,CASE…,因为那时我必须对所有列执行groupby。 有没有一种简单的方法可以创建这样的“计算”列?也许使用一些UDF和视图“技巧” 输入示例: 输出示例: 提前感谢, Shushu请提供示例数据和所需结果。添加示例,谢谢。很好

我在bigquery中有一个原始表,我想根据给定的值添加一个“条件”/“计算”列,如下所示:

CASE
  WHEN `columnA`="valueX" THEN `columnB`
  ELSE NULL
AS `valueX`
问题是我不能只说
SELECT*,CASE…
,因为那时我必须对所有列执行
groupby

有没有一种简单的方法可以创建这样的“计算”列?也许使用一些UDF和视图“技巧”

输入示例:

输出示例:
提前感谢,

Shushu

请提供示例数据和所需结果。添加示例,谢谢。很好,它很有效。。。太奇怪了,因为正如你在问题中看到的,这就是我尝试过的(至少我认为我尝试过的),并且得到了一个错误,说我必须
GROUP BY
所有字段…查看更多详细信息-我想你错过了
END
来结束
案例
谢谢。不,不是。我发现,当我在问题中编写
CASE
选项时,在检查时我使用了:
MAX(如果(`feature_2_name`='test4',`feature_2_value`,NULL))作为`test4`
,然后给出了一个错误:“星型扩展表达式引用了既未分组也未聚合的列事件名称”,这是合理的,因为MAX是聚合,它改变了整个选择。又是10倍。
SELECT *, 
  CASE
    WHEN columnA='valueX' THEN columnB
    ELSE NULL
  END AS valueX
FROM