Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.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 server 在重复记录中添加增量数字_Sql Server_Tsql_Ssis - Fatal编程技术网

Sql server 在重复记录中添加增量数字

Sql server 在重复记录中添加增量数字,sql-server,tsql,ssis,Sql Server,Tsql,Ssis,我有SSIS包,它检索所有记录,包括重复记录。我的问题是如何仅为ID和PropertyID的重复记录添加增量值 乙二醇 来自合并联接的记录 ID Name PropertyID Value 1 A 1 123 1 A 1 223 2 B 2 334 3 C 1 22 3 C 1 45 现在,我需要在每条记录

我有SSIS包,它检索所有记录,包括重复记录。我的问题是如何仅为ID和PropertyID的重复记录添加增量值

乙二醇

来自合并联接的记录

ID   Name   PropertyID  Value
1    A      1           123
1    A      1           223
2    B      2           334
3    C      1           22
3    C      1           45
现在,我需要在每条记录的末尾追加一个增量值,如下所示:

ID   Name   PropertyID  Value  RID
1    A      1           123    1
1    A      1           223    2
2    B      2           334    1
3    C      1           22     1
3    C      1           45     2
由于ID 1和3返回两次,第一条记录的RID为1,第二条记录的RID为2

需要考虑ID和PropertyID来生成重复ID,即RID

如何在SSIS中或使用SQL命令执行此操作

更新1:

如果我错了,请纠正我,因为数据尚未存储在任何表中,我无法使用使用rownumber的select查询。是否可以通过合并联接进行此操作?

您可以使用:

您可以使用:


这将为您完成以下工作:

您需要编写一个自定义脚本,如下所示:

public
class
ScriptMain : UserComponent

{
 string _sub_category = “”;
int _row_rank = 1;

public  override  void Input0_ProcessInputRow(Input0Buffer Row)
{
if (Row.subcategory != _sub_category)
{
_row_rank = 1;
Row.rowrank = _row_rank;

_sub_category = Row.subcategory;
}
else
{
   _row_rank++;
   Row.rowrank = _row_rank;

}

}
}

这将为您完成以下工作:

您需要编写一个自定义脚本,如下所示:

public
class
ScriptMain : UserComponent

{
 string _sub_category = “”;
int _row_rank = 1;

public  override  void Input0_ProcessInputRow(Input0Buffer Row)
{
if (Row.subcategory != _sub_category)
{
_row_rank = 1;
Row.rowrank = _row_rank;

_sub_category = Row.subcategory;
}
else
{
   _row_rank++;
   Row.rowrank = _row_rank;

}

}
}

感谢@zohar的回复,请查看我更新的问题,我还没有将数据存储在任何表格中。这意味着,我无法正确使用此查询。我对SSIS没有太多经验,但您在问题中写道,我如何在SSIS或使用SQL命令执行此操作。。我已经展示了相关的SQL命令。如果这没有帮助,我想你将不得不等待比我更有SSIS经验的人来回答你的问题。谢谢Zohar,这是一个开始,我将检查如何在SSIS中使用此查询。非常感谢。感谢@zohar的回复,请查看我的更新问题,我还没有将数据存储在任何表格中。这意味着,我无法正确使用此查询。我对SSIS没有太多经验,但您在问题中写道,我如何在SSIS或使用SQL命令执行此操作。。我已经展示了相关的SQL命令。如果这没有帮助,我想你将不得不等待比我更有SSIS经验的人来回答你的问题。谢谢Zohar,这是一个开始,我将检查如何在SSIS中使用此查询。非常感谢。谢谢@Deepak,这是我需要的。很高兴听到这个。谢谢@Deepak,这是我需要的。很高兴听到这个。