标题:SQL 根据条件判断循环复制添加行
只看楼主
kamishiro
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2013-3-21
结帖率:50%
 问题点数:0 回复次数:3 
SQL 根据条件判断循环复制添加行
CREATE TABLE Test
(id int,data int);

insert into test values(1,1)
insert into test values(2,1)
insert into test values(3,2)
insert into test values(4,3)

CREATE TABLE Test1
  (id int,data int);

insert into test1 values(1,1)
insert into test1 values(2,1)
insert into test1 values(3,2)
insert into test1 values(4,3)
insert into test1 values(2,1)
insert into test1 values(3,1)
insert into test1 values(4,1)
insert into test1 values(4,2)
我初始表为Test,最终我想搞成Test1,就按data判断,若data>1,则加入data值从1 到data-1的行,ID不重要,可以不变,也可以1,2,3,4,5,6,7,8按顺序增加下去,顺序也不重要,关键就是要所有的ID的data都从1开始,请帮助,谢谢
搜索更多相关主题的帖子: insert values 
2014-04-23 10:49
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
得分:0 
用循环可以实现的

我不是砖家,要努力成为砖家。
2014-05-25 12:34
volte
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:69
帖 子:1167
专家分:1316
注 册:2004-12-19
得分:0 
用游标处理起来很容易

大家都是朋友,有空就来坐坐!
2014-05-26 08:56
mxbing1984
Rank: 7Rank: 7Rank: 7
来 自:贵州道真
等 级:贵宾
威 望:37
帖 子:73
专家分:342
注 册:2014-8-8
得分:0 
回复 楼主 kamishiro
sql2005或以上版本
With T
As
(
Select * From Test  
Union All
Select B.id,T.data-1 From T Inner Join Test B
    on T.id=B.id
        Where T.data>1
)
Select * From T Order By id

天再高,踮起脚尖就能更接近阳光
2014-08-08 13:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-430514-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.072900 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved