Вам нужно исправить свою функцию dbo.fnParseDelimitedString()
, чтобы вернуть номер элемента.Затем вы можете использовать это для присоединения:
WITH group1 AS (
SELECT item as Product, item_number
from dbo.fnParseDelimitedString('mango,apple,pears,kiwi',',')
),
group2 AS (
SELECT item as Price, item_number
from dbo.fnParseDelimitedString('$3.19,$2.45,$5.00,$2.59',',')
)
--select Products from group1
select g1.product, g2.price
from group1 g1 join
group2 g2
on g1.item_number = g2.item_number;
К сожалению, встроенная в SQL Server функция разделения строк не имеет возможности вернуть такой порядковый номер.
Если вы не можете изменитьфункция, есть другие подходы, чтобы решить эту проблему.Однако, поскольку вы определили такую функцию, вы также можете включить столбцы, которые вам действительно нужны.