2017-09-05 2 views
0

は、それぞれの行を複製して、図のようにそれぞれの結果の前に一定の値を入力するには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 

私は挿入機能を試してみましたが、それはあなたがにSQLのUNION演算子を使用することができます

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

"各行の前に"というようなものはありません。最初の列は何ですか? –

+0

最初の列は名前です – luanstat

+0

新しい値の基準は何ですか? – Amit

答えて

2

を働いていません同じことをする。また、(Abs(Checksum(NewId()))%10)は内部的にGUIを生成し、そのチェックサムの絶対値を計算します。常に0と10の間の値を生成します。ゼロ値の場合を処理するために1を追加しました。

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

すべてが付属していない – LONG

+0

詳細を格納するテーブルまたはテーブル変数がありますか – Amit

+0

ありがとうございました。残念ながら@LONGはあまり言及していませんが、再び1。 – luanstat

関連する問題