Sql server 在重复记录中添加增量数字
我有SSIS包,它检索所有记录,包括重复记录。我的问题是如何仅为ID和PropertyID的重复记录添加增量值 乙二醇 来自合并联接的记录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 现在,我需要在每条记录
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,这是我需要的。很高兴听到这个。