sql - 如何给未嵌套的元组数组起别名?

标签 sql google-bigquery

我正在尝试使用此查询设置一组数据:

WITH CTE AS (
SELECT *
FROM UNNEST([("a",NULL),("b",NULL),("c",1),("d",1),("e",2),("f",3),("g",4),("h",4),("i",4),("j",4),("k",5),("l",5),("m",6),("n",7),("o",7)]) 
)
SELECT *
FROM CTE

产生的结果是:

|Row|f0_|f1_ |
|---|---|----|
| 1 | a |null|
| 2 | b |null|
| 3 | c |1   |
| 4 | d |1   |
| 5 | e |2   |
| 6 | f |3   |
| 7 | g |4   |
| 8 | h |4   |
| 9 | i |4   |
| 10| j |4   |
| 11| k |5   |
| 12| l |5   |
| 13| m |6   |
| 14| n |7   |
| 15| o |7   |

我想要的是:

|Row| x | y  |
|---|---|----|
| 1 | a |null|
| 2 | b |null|
| 3 | c |1   |
| 4 | d |1   |
| 5 | e |2   |
| 6 | f |3   |
| 7 | g |4   |
| 8 | h |4   |
| 9 | i |4   |
| 10| j |4   |
| 11| k |5   |
| 12| l |5   |
| 13| m |6   |
| 14| n |7   |
| 15| o |7   |

最佳答案

使用STRUCT:

WITH CTE AS (
SELECT *
FROM UNNEST([STRUCT("a" as x,NULL as y),("b",NULL),("c",1),("d",1),("e",2),("f",3),("g",4),("h",4),("i",4),("j",4),("k",5),("l",5),("m",6),("n",7),("o",7)]) 
)
SELECT *
FROM CTE

enter image description here

关于sql - 如何给未嵌套的元组数组起别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66240508/

相关文章:

google-bigquery - 不展平结果时 NEST 内部错误

Power BI 到 Google BigQuery 的 REST API 问题

json - 将 JSON 文件加载到 BigQuery 表 : Schema changes

sql - 选择(列名)作为子查询

mysql - 我的SQL安装在 `Program Files`并且看不到 `my.ini`文件

php - MySQL从多个表查询?

google-bigquery - 我在哪里可以找到 Firebase Analytics 中的平均 session 持续时间。如何通过 Bigquery 提取这些指标

sql - 使用 Google BigQuery 中的 SQL 将字符串列转换为数字列

sql - 通过一个查询选择独立的不同项

sql - 哪些仪表板分析将支持 Parse.com 数据源?