当前位置: 代码迷 >> Sql Server >> 这个有关问题太有挑战性了,小弟我搞不定,大家帮小弟我看看
  详细解决方案

这个有关问题太有挑战性了,小弟我搞不定,大家帮小弟我看看

热度:45   发布时间:2016-04-27 12:16:29.0
这个问题太有挑战性了,我搞不定,大家帮我看看
我需要更新一条记录的状态,这个状态由这个表里面的另外一个id的状态决定:
大概是这样:
update student set status=1 where id=1 and (当id为2的学生status=1)
前提是and 后面不能接select子句呀,我的神,我不会写sql语句了。
如果update student set status=1 where id=1 and (id=2 and status=1)
=========显然没有id既为1又为2的条目。。。。。。。
大家看看怎么搞定这个吧。
思考了1一天一夜了。
谢谢。



------解决方案--------------------
SQL code
create table student(id int,[status] int)insert into student values(1,2),(2,1)update s1 set [status]=s2.[status] from student s1join student s2 on s1.id=s2.id-1
------解决方案--------------------
SQL code
update s1 set [status]=1 from student s1,student s2 WHERE s1.id=1AND s2.id=2AND S2.[status]=1
  相关解决方案