2

我正在尝试在桌子上使用 unpivot。我正在使用 Workbench/J 作为亚马逊 redshift 的客户端。以下 select 语句不起作用:

SELECT 
  campaign_id,
  C.B,
  C.A
FROM campaign
UNPIVOT 
(
  A FOR B IN (item1, item2, item3)
) AS C

我收到以下错误:

错误:“for”位置或附近的语法错误:62 [SQL 状态 = 42601]

如果可能的话,我想使用 UNPIVOT 而不是 UNION 并且它不会将 UNNEST 识别为函数。

4

1 回答 1

0

UNPIVOT语法是正确的,但并非每个数据库都支持该功能。

您可能需要考虑使用UNION ALL

select campaign_id, 'item1' as B, item1 as A
from campaign
union all
select campaign_id, 'item2' as B, item2 as A
from campaign
union all
select campaign_id, 'item3' as B, item3 as A
from campaign
于 2013-04-01T18:22:05.723 回答