INSERT文で、表#ttの列colNEWを列col5の表@ t2の値で埋めるにはどうすればよいですか? 現在の式を再利用できますか、またはマージを使用する必要がありますか?挿入中に列を挿入する
私は私が誰かを助けることを願ってMSSQLサーバ10
DECLARE @t1 TABLE (id INT IDENTITY(1,1), col1 INT, col2 INT)
DECLARE @t2 TABLE (col3 INT, col4 INT, col5 INT)
INSERT @t2 VALUES (1,2,3);INSERT @t2 VALUES (2,3,4)
CREATE TABLE #tt (id INT, col3 INT, col4 INT, colNEW int)
INSERT #tt (id, col3, col4)
SELECT *
FROM
(
INSERT INTO @t1(col1,col2)
OUTPUT Inserted.id, Inserted.col1,Inserted.col2
SELECT col3, col4
FROM @t2
) t
を使用しています。
あなたは 'merge'を使う必要があります。 http://stackoverflow.com/questions/5365629/using-merge-output-to-get-mapping-between-source-id-and-target-id –
実際には、ちょうど実現 - あなたがmssqlサーバー9と言うとき、 2005年を意味する?その場合、そのバージョンにはマージは存在しません。 –
私はmssql server 10を意味していました。 –