基于 BigQuery Standard 中的其他列为列填空 SQL
Filling in Blanks for a Column Based on Other Column in BigQuery Standard SQL
我有关于 artists/singers 的数据,对于每个数据,我都有以下列:
fb
研究所
tw
声音
soundcloud_id
facebook_id
instagram_id
twitter_id
澄清一下,'fb' 表示 Facebook,'inst' 表示 Instagram,'tw' 表示 Twitter,'sound' 表示 Soundcloud。
有一些行(或艺术家),例如,'fb' 已填充,但 'facebook_id' 为空。同样,我也有一些行,其中 'fb' 为空但 'facebook_id' 已填充。这也适用于其他列。
我的目标是,对于每个艺术家,通过用相应的列值填充空值来更新 'fb'、'tw'、'sound' 和 'inst' 列'facebook_id'、'twitter_id'、'soundcloud_id' 和 'instagram_id'。
例如,如果我有:
inst instagram_id
NULL 示例 456
我要:
inst instagram_id
example456 example456
注意:我不想使用 UPDATE [COLUMN]。原因是这个 table 只是通过使用我数据库中的数据的一些子查询和数据操作创建的。换句话说,我实际上并没有存储我当前的 table,所以我不能使用 UPDATE [COLUMN]。如果没有更新我该怎么做?
以下适用于 BigQuery 标准 SQL
#standardSQL
SELECT
IFNULL(fb, facebook_id) fb,
IFNULL(inst, instagram_id) inst,
IFNULL(tw, twitter_id) tw,
IFNULL(sound, soundcloud_id) sound,
soundcloud_id,
facebook_id,
instagram_id,
twitter_id
FROM `project.dataset.table`
我有关于 artists/singers 的数据,对于每个数据,我都有以下列:
fb
研究所
tw
声音
soundcloud_id
facebook_id
instagram_id
twitter_id
澄清一下,'fb' 表示 Facebook,'inst' 表示 Instagram,'tw' 表示 Twitter,'sound' 表示 Soundcloud。
有一些行(或艺术家),例如,'fb' 已填充,但 'facebook_id' 为空。同样,我也有一些行,其中 'fb' 为空但 'facebook_id' 已填充。这也适用于其他列。
我的目标是,对于每个艺术家,通过用相应的列值填充空值来更新 'fb'、'tw'、'sound' 和 'inst' 列'facebook_id'、'twitter_id'、'soundcloud_id' 和 'instagram_id'。
例如,如果我有:
inst instagram_id
NULL 示例 456
我要:
inst instagram_id
example456 example456
注意:我不想使用 UPDATE [COLUMN]。原因是这个 table 只是通过使用我数据库中的数据的一些子查询和数据操作创建的。换句话说,我实际上并没有存储我当前的 table,所以我不能使用 UPDATE [COLUMN]。如果没有更新我该怎么做?
以下适用于 BigQuery 标准 SQL
#standardSQL
SELECT
IFNULL(fb, facebook_id) fb,
IFNULL(inst, instagram_id) inst,
IFNULL(tw, twitter_id) tw,
IFNULL(sound, soundcloud_id) sound,
soundcloud_id,
facebook_id,
instagram_id,
twitter_id
FROM `project.dataset.table`