我在bigqyery中有一个包含以下数据的表
Qualification_No 2019.2 2019.1 2018.4
100/1802/5 10 20 30
100/1811/6 15 23 10
我希望数据如下所示
Qualification_No No_of_certification
100/1802/5 10
100/1802/5 20
100/1802/5 30
100/1811/6 15
100/1811/6 23
100/1811/6 10
请帮助编写查询。
答案 0 :(得分:0)
您需要使用UNION ALL
select `Qualification_No`, `2019.2` as no from table
union all
select `Qualification_No`, `2019.1` as no from table
union all
select `Qualification_No`, `2018.4` as no from table
答案 1 :(得分:0)
以下是用于BigQuery标准SQL
#standardSQL
WITH `project.dataset.table` AS (
SELECT '100/1802/5' Qualification_No, 10 col_2019_2, 20 col_2019_1, 30 col_2018_4 UNION ALL
SELECT '100/1811/6', 15, 23, 10
)
SELECT Qualification_No, No_of_certification
FROM `project.dataset.table`,
UNNEST([col_2019_2, col_2019_1, col_2018_4]) No_of_certification
有结果
Row Qualification_No No_of_certification
1 100/1802/5 10
2 100/1802/5 20
3 100/1802/5 30
4 100/1811/6 15
5 100/1811/6 23
6 100/1811/6 10