我想生成一个新表,并使用BigQuery将所有键值对作为列名和值作为各自的值放置.
例:
**Key** **Value**
channel_title Mahendra Guru
youtube_id ugEGMG4-MdA
channel_id UCiDKcjKocimAO1tV
examId 72975611-4a5e-11e5
postId 1189e340-b08f
channel_title Ab Live
youtube_id 3TNbtTwLY0U
channel_id UCODeKM_D6JLf8jJt
examId 72975611-4a5e-11e5
postId 0c3e6590-afeb
Run Code Online (Sandbox Code Playgroud)
我想将其转换为:
**channel_title youtube_id channel_id examId postId**
Mahendra Guru ugEGMG4-MdA UCiDKcjKocimAO1tV 72975611-4a5e-11e5 1189e340-b08f
Ab Live 3TNbtTwLY0U UCODeKM_D6JLf8jJt 72975611-4a5e-11e5 0c3e6590-afeb
Run Code Online (Sandbox Code Playgroud)
如何使用BigQuery做到这一点?
我正在使用Google Big Query,并且我正在尝试从公共示例数据集中获取透视结果.
对现有表的简单查询是:
SELECT *
FROM publicdata:samples.shakespeare
LIMIT 10;
Run Code Online (Sandbox Code Playgroud)
此查询返回以下结果集.

现在我要做的是,从表中获得结果,如果单词是勇敢的,选择"BRAVE"作为column_1,如果单词出席,选择"ATTENDED"作为column_2,并聚合单词计数对于这2.
这是我正在使用的查询.
SELECT
(CASE WHEN word = 'brave' THEN 'BRAVE' ELSE '' END) AS column_1,
(CASE WHEN word = 'attended' THEN 'ATTENDED' ELSE '' END) AS column_2,
SUM (word_count)
FROM publicdata:samples.shakespeare
WHERE (word = 'brave' OR word = 'attended')
GROUP BY column_1, column_2
LIMIT 10;
Run Code Online (Sandbox Code Playgroud)
但是,此查询返回数据

我在寻找的是

我知道这个数据集的这个数据集没有意义.但我只是以此为例来解释这个问题.如果你可以为我提供一些指示,那将是很棒的.
编辑:我还提到了如何使用BigQuery模拟数据透视表?它似乎也有我在这里提到的相同问题.