У меня есть таблица, которая содержит поле строк, разделенных запятыми:
ID | fruits
-----------
1 | cherry,apple,grape
2 | apple,orange,peach
Я хочу создать нормализованную версию таблицы, например:
ID | fruits
-----------
1 | cherry
1 | apple
1 | grape
2 | apple
2 | orange
2 | peach
PostgresqlВ документации 8.4 описывается функция regexp_split_to_table, которая может переворачивать одну таблицу:
SELECT foo
FROM regexp_split_to_table('the quick brown fox jumped over the lazy dog',E'\\s+') AS
foo;
, что дает вам следующее:
foo
--------
the
quick
brown
fox
jumped
over
the
lazy
dog
(9 rows)
Но это только для одного поля.То, что я хочу сделать, это некий UNION, примененный ко всем таблицам, сгенерированным путем разделения каждого поля.Спасибо.