#sql #apache-pig
#sql #apache-pig
Вопрос:
Итак, у меня есть таблица
ID Tag1 Tag2 Tag3
1 a b
2 a b c
3 a
Я хотел бы преобразовать эту таблицу в
ID Tag
1 a
1 b
2 a
2 b
2 c
3 a
использование PIG latin или SQL?
Комментарии:
1. было бы проще использовать sql
union
.2. Если вы используете SQL Server, вы можете сделать это с помощью команды PIVOT .
Ответ №1:
В 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
. Это можно сделать эффективно, если ваш компонент database engine поддерживает unpivot
operator
Комментарии:
1. Спасибо вам обоим: профсоюз и unpivot — это именно то, что я искал. ценю вашу помощь