2013-04-08 62 views
-3

如何更新选择的某些字段? (如下所示)如何更新查询

update (select * 
     from Students s 
     join Father f on s.fId=f.Id 
     where s.Id=12) 
set f.FirstName='John' 

请帮忙。谢谢。

+2

哪个RDBMS是为了这个? – 2013-04-08 14:16:12

回答

1

尝试:

Update Students 
set FirstName='John' 
where Id=12 

在这种情况下不需要一个选择的。查看链接SQL UPDATE Statement了解更多详情。

你的情况,你可以使用SQL Server - inner join when updating

UPDATE f 
SET FirstName='John' 
FROM Students s JOIN Father f 
    ON s.fId=f.Id 
WHERE s.Id=12 
+0

我编辑我的问题更好。 – user543489 2013-04-08 09:27:22

+0

'FirstName'属于哪个表? – TechDo 2013-04-08 09:29:26

+0

它属于表父亲。 – user543489 2013-04-08 09:34:04

0
UPDATE Students 
SET FirstName='John' 
WHERE ID = 12 

这应该为你工作:)

0

要在指定的Id更新StudentFirstName做到以下几点:

update Students 
set FirstName='John' 
where Id=12 
0

您可以使用联接更新对于这种情况。例如,如果你需要为他的儿子设置父亲姓氏,你可以使用这样的查询。

UPDATE SonsDetails SET Surname = Father.Surname 
FROM [dbo].[SonDetails] AS SonsDetails INNER JOIN [dbo].[FatherDetails] Father 
ON [SonsDetails].[FatherId] = Father.Id 
+0

请注意,对于不同的DBMS,此语法将有所不同,因为它不在SQL标准中。你给我的例子看起来像MS SQL Server,但在问题中没有线索,这是提问者使用的系统。 – IMSoP 2013-05-05 18:21:52