我有一个带有两个表变量(@temp和@ temp2)的存储过程。
如何从两个临时表中选择值(两个表变量都包含一行)并将它们全部插入一个表中?
我尝试了以下操作,但此操作不起作用,并且出现错误,即SELECT和INSERT语句的数量不匹配。
DECLARE @temp AS TABLE ( colA datetime, colB nvarchar(1000), colC varchar(50) ) DECLARE @temp2 AS TABLE ( colD int )
…
INSERT INTO MyTable ( col1, col2, col3, col4 ) SELECT colD FROM @temp2, colA FROM @temp, colB FROM @temp, colC FROM @temp
蒂姆,非常感谢您对此提供的任何帮助。
由于两个表变量都只有一行,因此您可以交叉联接它们。
INSERT INTO MyTable (col1, col2, col3, col4) SELECT t.colA, t.colB, t.colC, t2.colD FROM @temp t CROSS JOIN @temp2 t2