2014-09-01 62 views
0

我試圖通過使用獨立表中的數據來更改員工薪酬,以確定員工是否具有特定的工作分類。SQL 2012更新列

這是告訴我我有一個無效的列名稱。但列存在。

任何幫助表示讚賞,而我繼續尋找解決方案。

謝謝你們。

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

(1)此查詢沒有意義。 (2)這是否意味着兩個疑問? (3)你爲什麼減少94.154%的工資? – 2014-09-01 17:11:52

回答

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%加薪的人。

+3

+1代表所有Kudler Fine Food的員工都極力避免大幅降薪。 – 2014-09-01 17:16:22