Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何根据另一个表的条件创建序列号?_Sql_Sql Server_Sql Server 2012_Sequence_Alter Table - Fatal编程技术网

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
    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           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。不要求列来自同一个表。