【发布时间】:2021-08-19 22:29:30
【问题描述】:
如何在 Bigquery 过程中动态分配列名。我在我的程序中声明了一个计数器:
DECLARE counter int64 default 1;
在这个过程中,我使用 while 循环来保持自我加入,直到没有更多的父母剩余。我唯一的问题是确定一种查找动态列名的方法。像 manager_id_{@counter} 基于可用的层次结构。
我有以下表格可用:
表 1:
| emp_id | manager_id |
|---|---|
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
| 4 | 3 |
| 10 | 10 |
| 20 | 10 |
| 30 | 20 |
我的输出:
| emp_id | manager_id | manager_id_1 | manager_id_2 | manager_id_3 | manager_id_4 |
|---|---|---|---|---|---|
| 1 | 1 | 1 | NULL | NULL | NULL |
| 2 | 1 | 1 | 2 | NULL | NULL |
| 3 | 2 | 1 | 2 | 3 | NULL |
| 4 | 3 | 1 | 2 | 3 | 4 |
| 10 | 10 | 10 | NULL | NULL | NULL |
| 20 | 10 | 10 | 20 | NULL | NULL |
| 30 | 20 | 10 | 20 | 30 | NULL |
我能够想出逻辑,唯一缺少的是列名。我看到了很多与 SQL 和其他 DBMS 相关的帖子。但找不到适用于 BigQuery 的内容。
【问题讨论】:
标签: dynamic google-bigquery procedure columnname