当前位置: 代码迷 >> Sql Server >> 这种数据抽取如何实现?按规定增加了行数的
  详细解决方案

这种数据抽取如何实现?按规定增加了行数的

热度:95   发布时间:2016-04-27 17:07:18.0
这种数据抽取怎么实现?按规定增加了行数的
源(列C只有正整数):
列:A B C
值:a b 3

抽取后的目标:
列:A B C
值:a b 1
  a b 1
  a b 1

------解决方案--------------------
要保证你的从表的函数大于等于C的最大值。
[master].dbo.spt_values 只有2000多。如果你C更大,就用别的方式取

SQL code
DECLARE @A TABLE (A CHAR,B CHAR,C INT)INSERT INTO @A(A,B,C)SELECT 'a','b',3 UNION ALLSELECT 'c','d',2 UNION ALLSELECT 'e','f',4SELECT A,B,1FROM @A a JOIN [master].dbo.spt_values b ON 1=1WHERE b.[type] = 'P' AND b.number < a.CA    B    ---- ---- -----------a    b    1a    b    1a    b    1c    d    1c    d    1e    f    1e    f    1e    f    1e    f    1(9 行受影响)
  相关解决方案