MSSQL根据NoOfRows字段中的数字将n行插入另一个表中

时间:2016-07-14 12:11:04

标签: sql-server

如何根据NoOfRows字段将n行插入另一个表(B)。

Table A Source Table
    ID  | NoOfRows 
    ---------
    1   |    3
    2   |    2

Table B Created/Destination table
    ID  | enabled
    ---------
    1   |    true
    1   |    true
    1   |    true
    2   |    true
    2   |    true

已启用只是一个始终设置为true的字段

2 个答案:

答案 0 :(得分:0)

一种方法使用数字表。这是一种有效的方法,除非你的计数非常高:

SecurityTokenException

如果您的环境中有其他序列号源,那么您可以使用它。

另外,我用“1”代表“真实”; SQL Server没有布尔类型。

答案 1 :(得分:0)

with n as (
      select row_number() over (order by (select null)) as n
      from master..spt_values
     )
select id, 1 as enabled
from a join
     n
     on n.n <= a.count;