Sql 如何根据另一个表的条件创建序列号?
我正试图在表中添加一列,但我一直在想办法为该列分配序列号Sql 如何根据另一个表的条件创建序列号?,sql,sql-server,sql-server-2012,sequence,alter-table,Sql,Sql Server,Sql Server 2012,Sequence,Alter Table,我正试图在表中添加一列,但我一直在想办法为该列分配序列号 列ID和C_Seq_No来自一个表(A) D_Seq_No和Type来自另一个表(B) 我试图将这两个表连接在一起,在任何时候,C\u Seq\u No都会为一个ID显示三次数字“1”,然后D\u Seq\u No将为该ID创建一个序列号1、2和3 以下是我在运行查询以加入2表时得到的信息,因为我还没有为D_Seq_No列分配任何内容: TABLE A TABLE B ID
- 列
和ID
来自一个表(A)C_Seq_No
和D_Seq_No
来自另一个表(B)李>Type
C\u Seq\u No
都会为一个ID显示三次数字“1”,然后D\u Seq\u No将为该ID创建一个序列号1、2和3
以下是我在运行查询以加入2表时得到的信息,因为我还没有为D_Seq_No列分配任何内容:
TABLE A TABLE B
ID C_Seq_No | D_Seq_No Type
123 1 | NULL 02
123 1 | NULL 04
123 1 | NULL 06
123 2 | NULL 03
123 2 | NULL 05
123 2 | NULL 07
这就是我希望在连接这两个表时查询结果集中的外观:
ID C_Seq_No D_Seq_No Type
123 1 1 02
123 1 2 04
123 1 3 06
123 2 1 03
123 2 2 05
123 2 3 07
您正在查找行号。该呼叫将如下所示:
select . . .,
row_number() over (partition by id, c_seq_no order by type) as d_seq_no,
type
from . . .
您正在查找行号。该呼叫将如下所示:
select . . .,
row_number() over (partition by id, c_seq_no order by type) as d_seq_no,
type
from . . .
创建该结果的查询是什么?因为如果您有两个表,则不存在生成该结果的任何联接。更新表B Set D_Seq_NoThat query不联接表A和B哪个查询正在创建该结果?因为如果您有两个表,则不存在生成该表的任何联接。如果id和c_Seq_no来自另一个表,则更新表B Set D_Seq_noth该查询不联接表A和B?我们不能使用join语句,对吗?@EkansDasnakE。不要求列来自同一个表。如果id和c_seq_no来自另一个表,可以这样做吗?我们不能使用join语句,对吗?@EkansDasnakE。不要求列来自同一个表。