我有两个表,Staff
和 Wages
人员
包含
id, name, jobID, wage
1 Name1 2
2 Name2 4
3 Name3 1
4 Name4 2
工资
包含
JobID, Wage
1 1500
2 800
3 1600
4 2000
(实际的栏目多了很多我刚拿了前4)
我缺少Staff
表中的工资,而我在staff表中需要的工资是Wages
表中的费率..
所以我需要一个查询,使 Staff
表看起来像这样:
id, name, jobID, wage
1 Name1 2 800
2 Name2 4 2000
3 Name3 1 1500
4 Name4 2 800
我试过的一个示例查询是:
UPDATE `Staff`
SET wage = (SELECT wage FROM `Wages`)
WHERE jobID = (Select jobId FROM `Wages`)
谢谢。
最佳答案
在 MySQL
中,
UPDATE Staff a
INNER JOIN Wages b
ON a.jobID = b.JobID
SET a.wage = b.wage
在 MSSQL
中,
UPDATE a
SET a.wage = b.wage
FROM Staff a
INNER JOIN Wages b
ON a.jobID = b.JobID
关于sql - 使用另一个表作为信息查询更新表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13266299/