带有子查询的SQL INSERT

时间:2010-11-10 08:24:31

标签: sql sql-server tsql

我有一个包含2列的表格。我想提供第1列值,但使用select语句查询另一个表以找出第一个表的第二列中的值。

这是我想出的,但我知道是错的......

INSERT INTO VehicleModels_VehicleSubModels (VehicleModelId, VehicleSubModelYearId)
(SELECT @ModelId, VehicleSubModelYearId 
FROM VehicleSubYearIntermediate 
WHERE SubModelId=@SubModelId 
AND YearId=@YearId)

基本上我想通过VehicleModelId提供@ModelId的值,但不允许我在select语句之外使用它。

1 个答案:

答案 0 :(得分:5)

尝试删除SELECT周围的括号,因为你看到错误的语法错误了吗?

INSERT INTO VehicleModels_VehicleSubModels (VehicleModelId, VehicleSubModelYearId)
SELECT @ModelId,VehicleSubModelYearId 
FROM VehicleSubYearIntermediate 
WHERE SubModelId=@SubModelId 
    AND YearId=@YearId