要根据第一个非空值获取不同列的值,可以使用BigQuery中的CASE语句和COALESCE函数来实现。下面是一个示例代码:
SELECT
id,
CASE
WHEN col1 IS NOT NULL THEN col1
WHEN col2 IS NOT NULL THEN col2
WHEN col3 IS NOT NULL THEN col3
ELSE col4
END AS first_non_null_value
FROM
your_table
在上面的代码中,我们使用CASE语句来检查每个列是否为空。如果第一个列(col1)不为空,则返回该列的值。否则,如果第二个列(col2)不为空,则返回该列的值。依此类推,直到找到第一个非空列。如果所有列都为空,则返回最后一个列(col4)的值。
请注意,上述代码中的"your_table"应替换为您实际使用的表名。另外,根据您的需求,您可能需要调整列名和表达式。