0
爲什麼這條sql指令不起作用...?更新 - where子句中的聚合函數
我想更新了15%的工資誰擁有的薪水低於平均水平的所有員工...
UPDATE Employers SET salary=salary * 1.15 WHERE salary < (SELECT AVG(salary) FROM Employers);
感謝。
爲什麼這條sql指令不起作用...?更新 - where子句中的聚合函數
我想更新了15%的工資誰擁有的薪水低於平均水平的所有員工...
UPDATE Employers SET salary=salary * 1.15 WHERE salary < (SELECT AVG(salary) FROM Employers);
感謝。
可能是你需要一個別名
UPDATE Employers
SET salary=salary * 1.15
CROSS JOIN ((SELECT AVG(salary) avg_salary FROM Employers)) t
WHERE salary < t.avg_salary;
這是什麼給你的錯誤?你最後錯過了一個''''。 '(SELECT AVG(salary)FROM Employers);' – Santi
對不起:)。但這不是問題...在MySQL中,我有以下消息: #1093 - 表'僱主'被指定兩次,既作爲'UPDATE'的目標,也作爲數據的單獨來源。 – nosperov
不幸的是,你似乎在爭奪MySQL的限制:[「你無法更新表並從子查詢中的同一個表中選擇。」](http://dev.mysql.com/doc/refman/5.7/ EN/update.html)。不是說沒有解決方案,個人我只是不知道它。知道更多的人可能能夠爲您提供解決方案! – Santi