Sql 如何将表合并为没有id的列?

Sql 如何将表合并为没有id的列?,sql,sql-server,tsql,Sql,Sql Server,Tsql,我从函数中收到两个表: SELECT val FROM dbo.StringSeparatorParser('1,2,3', ','): Table --- 1 2 3 我需要合并它们,或者像这样插入到新表中: Column1 Column2 ----------------- 1 2 2 3 3 4 我该怎么做呢?:你需要一个专栏来加入他们。您可以使用以下行生成一个: 使用子查询/CTE和行号。向我们展示您的尝试,

我从函数中收到两个表:

SELECT val FROM dbo.StringSeparatorParser('1,2,3', ','):

Table
---
1
2
3

我需要合并它们,或者像这样插入到新表中:

Column1       Column2
-----------------
1           2
2           3
3           4

我该怎么做呢?:

你需要一个专栏来加入他们。您可以使用以下行生成一个:


使用子查询/CTE和行号。向我们展示您的尝试,并解释为什么它不起作用。dbo.StringSeparatorParser函数是否返回每个子字符串的位置?StringSeparatorParser来自哪里?它的DDL是什么?一个好的拆分器为您提供了值的顺序位置。如果将值5添加到其中一个集合中,预期结果是什么?您的示例数据不足以说明输入值的顺序是否重要。如果第一个逗号分隔的字符串是“2,1,3”,结果会不同吗?在合并之前是否对值进行排序?如果字符串有不同数量的值,例如“1,2,4”和“1,1,2,3,5”,应该怎么办?
Column1       Column2
-----------------
1           2
2           3
3           4
select i.id, c.capacity
from (select id, row_number() over (order by id) as seqnum
      from ids
     ) i join
     (select capacity, row_number() over (order by capacity) as seqnum
      from capacities
     ) c
     on i.seqnum = c.seqnum;