Это может быть выполнено различными способами, как показано ниже, в обоих случаях я думаю, что мы должны рассмотреть что-то, что, если возвращаемые данные могут быть более одного.
а.
INSERT INTO MyTable1
(
Field1,
Field2,
Field3,
Field4,
Field5
)
SELECT
@Param1,
@Param2,
@Param3,
Field12,
(SELECT TOP 1 Column_Name FROM MyTable2 WHERE Field13 = @Param5)
FROM MyTable2
WHERE Field13 = @Param4
б.
DECLARE @Field13 VARCHAR(20)
SELECT TOP 1 @Field13 = FROM MyTable2 WHERE Field13 = @Param5
INSERT INTO MyTable1
(
Field1,
Field2,
Field3,
Field4,
Field5
)
SELECT
@Param1,
@Param2,
@Param3,
Field12,
@Field13
FROM MyTable2
WHERE Field13 = @Param4
В любом случае будет успешным, хотя условие «Field13 = @ Param5» может выявить несколько данных, но будет работать с первыми (TOP 1) данными.