SQL更新表字段x,其中字段y是z

时间:2012-05-22 16:44:19

标签: sql sql-server sql-server-2008 insert

如何将值插入到SQL Server表的X列中,其中Y列是Z?

INSERT INTO dbo.Cities (County_Id) 
WHERE Code >= 10000 AND Code < 20000
VALUE 20

3 个答案:

答案 0 :(得分:2)

首先,听起来你正试图做UPDATE,因为INSERT用于在表中添加一条全新记录,而不是更新一条或多条现有记录(s )。

如果我理解你的要求,你真的应该使用UPDATE-JOIN而不是INSERT-SELECTThis StackOverflow线程提供了一个很好的示例/解释。

答案 1 :(得分:2)

UPDATE Cities SET County_Id = 20 WHERE Cities.Code >= 10000 AND Cities.Code < 20000

答案 2 :(得分:1)

Insert dbo.Cities( County_Id )
Select Name
From dbo.Counties
Where Counties.Id = 20
    And Exists  (
                Select 1
                From dbo.Cities As C1
                Where C1.County_Id = Counties.Name
                    And C1.Code >= 10000
                    And C1.Code < 20000
                )