救命啊 我的update语句怎么写?

dudeng 2006-11-15 10:21:14
要求是这样的:
有个employee表有四个字段id,name,age,salary
表的内容:
id name age salary
1 aa 23 3000
2 dd 22 4000
3 ee 24 3200
4 ff 28 3000

现在我要将该表中salary最高的人的工资下调10%.请问sql语句怎么写?
我的写法通不过啊:update employee set salary = (select max(salary) from employee);请问错哪里了?
在线等..........没分给了 下次补上
...全文
265 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dudeng 2006-11-17
  • 打赏
  • 举报
回复
感谢上面的兄弟
蓝色风影 2006-11-16
  • 打赏
  • 举报
回复
update employee set salary = salary * 0.9 where salary = (select max(salary) from employee)
killxtt 2006-11-16
  • 打赏
  • 举报
回复
几位老大的写法都是一样的,呵呵,不能让我们新手蹭点分吗。
九斤半 2006-11-16
  • 打赏
  • 举报
回复
UPDATE EMPLOYEE SET SALARY=SALARY*0.9 WHERE SALARY=(SELECT MAX(SALARY) FROM EMPLOYEE)
九斤半 2006-11-16
  • 打赏
  • 举报
回复
CREATE TABLE EMPLOYEE(id INT,name NCHAR(10),age INT,salary MONEY)
INSERT EMPLOYEE
SELECT 1,'aa',23,3000 UNION ALL
SELECT 2,'dd',22,4000 UNION ALL
SELECT 3,'ee',24,3200 UNION ALL
SELECT 4,'ff',28,3000
SELECT * FROM EMPLOYEE

UPDATE EMPLOYEE SET SALARY=SALARY*0.9 WHERE SALARY=(SELECT MAX(SALARY) FROM EMPLOYEE)

SELECT * FROM EMPLOYEE

DROP TABLE EMPLOYEE
wendyc 2006-11-16
  • 打赏
  • 举报
回复
楼主的SQL是将所有人的工资调为最高工资*0.9
gahade 2006-11-15
  • 打赏
  • 举报
回复
update employee
set salary = salary * 0.9
from employee
where salary in (select max(salary) from employee)

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧