好吧,我是 SQL 的新手,我正在尝试编写一个查询,以在 officeid=10 的情况下将数字 2 替换为数字 4,所以我现在拥有的是以下内容。一个表称为 Carer_Supervisions,它通过辅助键链接到另一个表,officeid 在另一个名为 carer_information 的表上。
SELECT Carer_Supervisions.SupervisionID
,Carer_Supervisions.RegionID
,Carer_Supervisions.Date_Created
,Carer_Supervisions.Created_By
,Carer_Supervisions.Complete
,Carer_Supervisions.Completed_Date
,Carer_Supervisions.Completed_By
,Carer_Supervisions.CarerID
,Carer_Supervisions.Visit_Date
,Carer_Supervisions.SSW
,Carer_Supervisions.Location
,Carer_Supervisions.Present
,Carer_Supervisions.Child1
,Carer_Supervisions.Child2
,Carer_Supervisions.Child3
,Carer_Supervisions.Child4
,Carer_Supervisions.Child5
,Carer_Supervisions.Child6
,Carer_Supervisions.Child7
,Carer_Supervisions.Child8
,Carer_Supervisions.Caring_for_Children
,Carer_Supervisions.Education
,Carer_Supervisions.Working_Team
,Carer_Supervisions.Training_and_Development
,Carer_Supervisions.Environment
,Carer_Supervisions.Concerns
,Carer_Supervisions.Personal
,Carer_Supervisions.Agency
,Carer_Supervisions.Day_Care
,Carer_Supervisions.Manager
,Carer_Supervisions.Carer_Signed
,Carer_Supervisions.Cancelled
,Carer_Supervisions.Cancel_Reason
,Carer_Supervisions.Signed_Sent
,Carer_Information.OfficeID
FROM Carer_Supervisions
INNER JOIN Carer_Information ON Carer_Supervisions.CarerID = Carer_Information.CarerID
UPDATE Carer_supervisions
SET RegionID = REPLACE(RegionID, '2', '4')
WHERE (Carer_Information.OfficeID = 10)
这是对的还是需要修改?
最佳答案
这样你就可以更新了。
UPDATE CS SET RegionID= REPLACE(RegionID, '2', '4')
FROM Carer_Supervisions CS
INNER JOIN Carer_Information CI ON CS.CarerID = CI.CarerID
WHERE CI.OfficeID = 10
试试这个:
UPDATE Carer_Supervisions SET Carer_Supervisions.RegionID= REPLACE(CS.RegionID, '2', '4')
FROM Carer_Supervisions CS
INNER JOIN Carer_Information CI ON CS.CarerID = CI.CarerID
WHERE CI.OfficeID = 10
关于mysql - 更新表上的 370 条记录,同时为 where 语句内部连接到另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43229394/