Присоединение к SQL Server по порядку

У меня есть 2 строки на входе, например, '1,5,6' и '2,89,9' с одинаковым количеством элементов (3 или больше). Эти 2 строки, которые я хочу, сделали «объединением по ординате», поскольку

1   2
5   89
6   9

я подумал, чтобы назначить номер строки и сделал соединение между 2 наборами результатов, как

SELECT a.item, b.item  FROM 
  (
  SELECT  
  ROW_NUMBER() OVER (ORDER BY (SELECT 0)) AS rownumber,
  *  FROM dbo.Split('1,5,6',',')
  ) AS a
  INNER JOIN   
  (
  SELECT  
  ROW_NUMBER() OVER (ORDER BY (SELECT 0)) AS rownumber,
  *  FROM dbo.Split('2,89,9',',')
 ) AS b ON a.rownumber = b.rownumber 

это лучшая практика когда-либо?

7
задан Luigi Saggese 16 March 2012 в 12:20
поделиться