[英]BigQuery - operations on multiple columns sharing same substring on name
我有几个表,其中的列名如下:
共享相同子字符串的列数可能因表而异。
对于每个表,我必须执行包含以下操作的查询:
ROW_NUMBER() OVER (PARTITION BY name, surname, description,
CAST(FLCOLY01 AS STRING), CAST(FLCOLX01 AS STRING),
CAST(FLCOLY02 AS STRING), CAST(FLCOLX02 AS STRING),
CAST(FLCOLY03 AS STRING), CAST(FLCOLX03 AS STRING),
...
CAST(FLCOLYn AS STRING), CAST(FLCOLXn AS STRING)
ORDER BY date ASC)
CASE WHEN FLCOLX01 = 125 THEN VALUE_1
WHEN FLCOLX02 = 125 THEN VALUE_2
WHEN FLCOLX03 = 125 THEN VALUE_3
WHEN FLCOLX04 = 125 THEN VALUE_4
WHEN FLCOLX05 = 125 THEN VALUE_5
WHEN FLCOLX06 = 125 THEN VALUE_6
WHEN FLCOLX07 = 125 THEN VALUE_7
ELSE NULL END AS FLCOLX125
有没有更好的方法来编写这些查询?
据我所知,别无选择,因为您需要一个输出列来为不同的字段提供优先级。
你的方法是正确的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.