Sql server 插入到从多个表(联接?)和常量中选择
我正在尝试使用其他表和常量中的值进行插入。我在SO上找到了部分答案,但我无法完成存储过程。我应该做些类似的事情Sql server 插入到从多个表(联接?)和常量中选择,sql-server,select,join,insert,Sql Server,Select,Join,Insert,我正在尝试使用其他表和常量中的值进行插入。我在SO上找到了部分答案,但我无法完成存储过程。我应该做些类似的事情 INSERT INTO table1(value1, value2, value3, value4) SELECT @value1, value2, value3, @value4 FROM table2 WHERE table2.id = @value2; -- not sure 但我也必须使用某种联接从第三个表中获取数据,我不知道如何进行 我有
INSERT INTO table1(value1, value2, value3, value4)
SELECT
@value1,
value2,
value3,
@value4
FROM table2 WHERE table2.id = @value2; -- not sure
但我也必须使用某种联接从第三个表中获取数据,我不知道如何进行
我有三张桌子。
我想这样插入
INSERT INTO table1(field1, field2, field3, field4)
至于价值观
field1 = @field1
SELECT field2_type FROM table2 WHERE field2ID = @field2 -- field2
SELECT field3_type FROM table3 WHERE field3ID = @field3 -- field3
field4 = @field4
我正在使用SQL Server 2012
表1如下所示:
ID int, PK
Name varchar
Function int
Type int
Age int
FunctionID int
FunctionDescription varchar
TypeID int
TypeDescription varchar
表2看起来像:
ID int, PK
Name varchar
Function int
Type int
Age int
FunctionID int
FunctionDescription varchar
TypeID int
TypeDescription varchar
表3如下所示:
ID int, PK
Name varchar
Function int
Type int
Age int
FunctionID int
FunctionDescription varchar
TypeID int
TypeDescription varchar
非常不清楚你说了什么,但如果你想得到全部或使用加入,请使用UNION
INSERT INTO table1
SELECT *
FROM table2
UNION
SELECT * FROM table3
我设法找到了答案。如果其他人正在寻找它:
INSERT INTO table1(field1, field2, field3, field4)
select
field1 = @field1,
field2= (SELECT TOP 1 field2_type FROM table2 WHERE field2ID = @field2 order by (select NULL)),
field3 = (SELECT TOP 1 field3_type FROM table3 WHERE field3ID = @field3 order by (select NULL)),
field4 = @field4