Запрос PostgreSQL разделить на основе строк и объединить их в новые отдельные столбцы - PullRequest
0 голосов
/ 10 октября 2018

У меня есть таблица правил с колонкой «Правила», например:

enter image description here

Я хочу вывод, подобный этому:

enter image description here

Я хочу запрос postgreSQL, который разделит каждое правило на основе '|'и поместите их в новые столбцы как правило от 1 до 'n'.Попробуйте несколько случаев, нужна ваша помощь для достижения результата.Интересно знать запрос MSSQL Server тоже.Спасибо!

1 Ответ

0 голосов
/ 10 октября 2018

Используйте string_to_array, чтобы разбить строку на несколько элементов, к которым можно получить доступ по отдельности:

select rules[1] as rule_1, 
       rules[2] as rule_2,
       rules[3] as rule_3,
       rules[4] as rule_4,
       rules[5] as rule_5,
       rules[6] as rule_6
from (
  select string_to_array(rules, '|') as rules
  from rulebook
) t
...