对于BigQuery,我该如何将列“Ds Hrc Shm”、“Ds Orc Cwp”等转换为行,并将“sku”内部的行转换为列,并保持值相同。
来自:
SKU | Ds Hrc Shm | Ds Orc Cwp | Ds Orc Mwp
DB-MIX-HTS 1 1 1
DB-ORC-TUS 0 1 1
INTO
DB-MIX-HTS | DB-ORC-TUS
Ds Hrc Shm 1 0
Ds Orc Cwp 1 1
Ds Orc Mwp 1 1
我应该使用数据透视表/反向数据透视表还是其他简单的方法?
我尝试使用数据透视表,但是我无法在IN内部声明列标题。
SELECT *
FROM
(
SELECT `manual_input.sku_translations`.`ds_hrc_shm` AS `ds_hrc_shm`,
`manual_input.sku_translations`.`sku` AS `sku_1`,
FROM `manual_input.sku_translations`
)
PIVOT
(
SUM(`ds_hrc_shm`) FOR `sku_1` IN (['DB-ORC-TWS'], ['DB-MIX-SGT'])
)