У меня есть таблица ульев, как показано ниже. Количество элементов в каждом столбце непредсказуемо. Может ли кто-нибудь сказать мне, как правильно взорвать все столбцы этой таблицы, не теряя нулевые значения.
+-------------------------------+-------------------+----------------------------+--+
| l1.skillcode | l1.duration | l1.numberofpeople |
+-------------------------------+-------------------+----------------------------+--+
| ["ACFC"] | ["00020"] | ["1"] |
| ["ACFC"] | ["00233"] | ["1"] |
| ["AJBS"] | ["00605"] | ["1"] |
| ["ACFC"] | ["00020"] | ["1"] |
| ["TESTING"] | ["123456"] | ["09876"] |
| ["ACFC"] | ["00233","846"] | ["1"] |
| ["AJBS"] | ["00605"] | ["1"] |
| ["ACFC"] | ["00020"] | ["1"] |
| ["TESTING"] | NULL | ["09876"] |
| ["ACFC"] | ["00233"] | NULL |
| ["AJBS"] | ["00605"] | ["1"] |
| ["ACFC"] | ["00020"] | ["1"] |
| ["TESTING"] | NULL | ["09876","09877","09878"] |
| NULL | ["56743"] | ["45678","345"] |
| ["ACFC","BES","SAL","EPD"] | ["00233"] | ["1"] |
| ["AJBS"] | ["00605"] | ["1"] |
| NULL | ["00020"] | ["1"] |
| ["TESTING"] | NULL | ["09876","09877","09878"] |
| NULL | ["56743"] | ["45678","345"] |
| ["ACFC"] | ["00020"] | ["1"] |
| ["TESTING"] | NULL | ["09876","09877","09878"] |
| ["ACFC"] | ["00233"] | ["1"] |
| ["AJBS"] | ["00605"] | ["1"] |
+-------------------------------+-------------------+----------------------------+--+
Когда я пытаюсь сделать это ниже, я получаю нулевые значения столбца, который я пытаюсь взорвать, и связанные с ним ненулевые значения этой строки удалены.
select L2.*,t1.duration,t1.numberofpeople from t1
lateral view explode(t1.skillcode) L2;
Как расчленить все столбцы таблицы без потери каких-либо значений NULL, а также сохранить связь между значениями всех 3 столбцов.