SQL 2012 UPDATING列

时间:2014-09-01 17:09:59

标签: sql sql-server

我试图使用单独表格中的数据来改变员工薪酬,以确定员工是否具有特定的职位分类。

它告诉我我的列名无效。但该栏目存在。

感谢任何帮助,同时我继续寻找解决方案。

谢谢你们。

USE HARTKudlerFineFoods

SELECT dbo.tblEmployee.empSalary,
       dbo.tblJobTitle.jobJobClassification
FROM   dbo.tblEmployee
       FULL OUTER JOIN dbo.tblJobTitle
                    ON dbo.tblEmployee.empJobID = dbo.tblJobTitle.jobJobID

BEGIN TRANSACTION;

UPDATE dbo.tblEmployee
SET    empSalary = empSalary * .05946
WHERE  ( [jobJobClassification] = '%ist' ); 

1 个答案:

答案 0 :(得分:3)

我猜你真的想要:

UPDATE e
    SET empSalary = empSalary * (1 + 0.05946)
    FROM dbo.tblEmployee e JOIN
         dbo.tblJobTitle jt
         ON e.empJobID = jt.jobJobID
    WHERE jt.jobJobClassification like '%ist';

这将使所有职位以ist结尾的所有人加薪5.946%。