如何使用SQL复制行并为特定列的每一行进行多次插入?

时间:2017-09-05 18:57:14

标签: sql sql-server rdbms

在SQL中是否有一种方法可以复制每一行,并在每个结果之前输入一个常量值,如下所示:

This is what I have:

    Name        Height            
1   John        6.5         
2   Ben         7.0         
3   Mike        6.6
4   Adam        7.1

我想在数据中添加每行的新行,并指定值(例如1,5,5,5 ...),如下所示:

    Name        Height            
1   JohnStart   1
2   John        6.5
3   BenStart    5                       
4   Ben         7.0
5   MikeStart   5                       
6   Mike        6.6
7   AdamStart   5
8   Adam        7.1

我已尝试过插入功能,但它无法正常工作

INSERT INTO mydata (Name, Height)
VALUES ('AdamStart', '5')

1 个答案:

答案 0 :(得分:2)

您可以使用SQL UNION运算符执行相同操作。此外,(Abs(校验和(NewId()))%10)在内部生成GUI,计算其校验和的绝对值。它将始终生成0到10之间的值。添加1以处理零值情况。

SELECT Name, Height FROM tbl
UNION
SELECT Name + 'Start', (Abs(Checksum(NewId())) % 10) + 1 FROM tbl