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

How to duplicate rows and make multiple inserts for each row for a specific column using SQL?

在 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')

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

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