use*_*510 1 sql sql-server multiple-instances multiple-tables insert-into
我有一个带有两个表变量的存储过程(@temp和@ temp2).
如何从两个临时表中选择值(两个表变量都包含一行)并将它们全部插入一个表中?
我尝试了以下但这没有用,我得到的错误是SELECT和INSERT语句的数量不匹配.
DECLARE @temp AS TABLE
(
colA datetime,
colB nvarchar(1000),
colC varchar(50)
)
DECLARE @temp2 AS TABLE
(
colD int
)
Run Code Online (Sandbox Code Playgroud)
...
INSERT INTO MyTable
(
col1,
col2,
col3,
col4
)
SELECT colD FROM @temp2,
colA FROM @temp,
colB FROM @temp,
colC FROM @temp
Run Code Online (Sandbox Code Playgroud)
蒂姆,非常感谢你提供的任何帮助.
由于两个表变量都有一行,您可以交叉连接它们.
INSERT INTO MyTable
(col1,
col2,
col3,
col4)
SELECT t.colA,
t.colB,
t.colC,
t2.colD
FROM @temp t
CROSS JOIN @temp2 t2
Run Code Online (Sandbox Code Playgroud)