SQL 或 PIG 脚本重构 table 以反映重复行中的列
SQL or PIG script to restructure a table to reflect Columns in repeating rows
所以我有一个 table
ID Tag1 Tag2 Tag3
1 a b
2 a b c
3 a
我想将此 table 转换为
ID Tag
1 a
1 b
2 a
2 b
2 c
3 a
使用 PIG 拉丁语或 SQL?
在 SQL
中,您可以使用 UNION ALL
select Id, Tag1 From yourtable Where Tag1 <> ''
Union All
select Id, Tag2 From yourtable Where Tag2 <> ''
Union All
select Id, Tag3 From yourtable Where Tag3 <> ''
如果您不想重复,请将 UNION ALL
更改为 UNION
。如果您的数据库引擎支持 unpivot
operator
,这可以高效地完成
所以我有一个 table
ID Tag1 Tag2 Tag3
1 a b
2 a b c
3 a
我想将此 table 转换为
ID Tag
1 a
1 b
2 a
2 b
2 c
3 a
使用 PIG 拉丁语或 SQL?
在 SQL
中,您可以使用 UNION ALL
select Id, Tag1 From yourtable Where Tag1 <> ''
Union All
select Id, Tag2 From yourtable Where Tag2 <> ''
Union All
select Id, Tag3 From yourtable Where Tag3 <> ''
如果您不想重复,请将 UNION ALL
更改为 UNION
。如果您的数据库引擎支持 unpivot
operator