mysql - 更新表上的 370 条记录,同时为 where 语句内部连接到另一个表

标签 mysql sql-server

好吧,我是 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/

相关文章:

mysql - 计算特定日期之间的用户数

php - 根据主键(Mysql)从两个表中选择一行?

当数据库中不存在电子邮件时,PHP 注册表单会告诉用户电子邮件已存在

php - 通过php拆分字符串查询mysql

python - Django 查询性能

MySQL IN 子句 EITHER 值

sql-server - 即使在备份日志到磁盘后,日志文件上的 DBCC SHRINKFILE 也不会减小大小

mysql - 将两个大型非规范化表拆分为多个带有链接表的表

sql - 我们在哪里使用 BCP 命令提供密码?

c# - 通过 Entity Framework 6 中另一个表中的外键获取记录