SQL克隆/复制具有条件的同一表中的记录

时间:2018-08-27 16:36:23

标签: sql sql-server

我有一张桌子,我想在同一张桌子内复制/克隆记录。但是我想有条件地做到这一点。而且条件是我有一列名为recordcount的数值。例如,第1行可以采用recordcount的值,例如7,那么我希望将第1行复制7次。第2行可以采用说9的值,那么我希望将第2行复制9次。 任何帮助表示赞赏。谢谢

1 个答案:

答案 0 :(得分:0)

您可以做什么(我很确定这不是最佳实践),

用于保存仅包含数字的表,该表具有与数字值对应的行数。

将其与您的表一起加入,并仅投影您的表。

示例:

create table nums(x int);
insert into nums select 1;
insert into nums select 2;
insert into nums select 2;
insert into nums select 3;
insert into nums select 3;
insert into nums select 3;

create table t (txt varchar(10) , recordcount int);
insert into t select 'A',1;
insert into t select 'B',2;
insert into t select 'C',3;


select t.*
from t 
    inner join nums
        on t.recordcount = nums.x
order by 1
;

将项目:

"A",1
"B",2
"B",2
"C",3
"C",3
"C",3