используя mssql, если у меня есть такие данные, как:
cols:
id, name, list1, list2
1, 'first', '10;15;30;50', '25;12;15;18'
2, 'second', '50;30;15;10, '12;25;11;15'
...
10,'tenth', '9;2;15;1', '5;13;17;45'
я пытаюсь создать строки результатов, которые объединяют каждый из этих столбцов списка, например
1, 'first', 10, 25
1, 'first', 15, 12
1, 'first', 30, 15
1, 'first', 50, 18
2, 'second', 50, 12
2, 'second', 30, 25
2, 'second', 15, 11
2, 'second', 10, 15
...
10, 'tenth', 9, 5
10, 'tenth', 2, 13
10, 'tenth', 15, 17
10, 'tenth', 1, 45
в основном, каждое число каждого списка отображается на одно и то же число в этом индексе (разделенное на ';').
я могу использовать cross apply
+ string_split
, но это приводит к строке для каждой возможной комбинации (id * description * list1_size * list2_size)
это вообще возможно в sql?
Я также пытался использовать substring
+ charindex
для ручного перемещения по спискам, но это привело бы к непомерному количеству ручных столбцов.