sql同一表里同一个字段下的两条数字互换 100

比如aa表里abc字段下两条数字123和456123换成456456换成123前提是在这条命令的基础上,因为我在做学生表:比如select*abcwhereshuzi='... 比如aa表里abc字段下两条数字123和456 123换成456 456换成123

前提是在这条命令的基础上,因为我在做学生表:比如 select * abc where shuzi='2'&& mingzi='王刚';这个是查询出来的数据,在这个表里是有xuehao这个字段 想把王刚这条数据中的学号xuehao字段下的123互换相同表里的某个学生的学号456
在adc 这个表里是有xuehao这个字段的 就是这条数据中 有个学号字段 把学号字段下的123互换带有456的数据中 123变456 456变123
就是上面的的这张图如何实现两条数据互换
展开
 我来答
百度网友139538b
2016-05-06 · TA获得超过5509个赞
知道大有可为答主
回答量:1826
采纳率:75%
帮助的人:635万
展开全部

可以这样考虑:

  1. 定义一个变量a,赋值123

  2. 定义一个变量b,赋值456

  3. 把王刚的学号修改成变量b的值

  4. 把学号为456的修改成变量a的值

  5. 代码参考如下,未编译:

    declare @a int set @a=123
    declare @b int set @b=456
    update abc
    set xuehao=@b
    where xingming='王刚'
    update ab
    set xuehao=@a
    where xuehao=456
更多追问追答
追问
这个是怎么用。  select * abc where shuzi='2'&& mingzi='王刚';
怎么在这条命令的基础上进行互换 这条命令下面是有一个xuahao 字段,字段下面有若干行,在若干行里找到123,然后把123换到456所在行中 456换成123 这样子。因为shuzi和mingzi是经常变的
追答
学号是不是主键?
百度网友9a65c9b
2016-05-06 · TA获得超过551个赞
知道小有建树答主
回答量:519
采纳率:0%
帮助的人:246万
展开全部
以下是更新的SQL语句,请采纳

UPDATE abc SET xuehao = if(xuehao='123','456','123') WHERE xuehao IN ('123','456');
追问
select * abc where shuzi='2'&& mingzi='王刚';
怎么在这条命令的基础上进行互换 这条命令下面是有一个xuahao 字段,字段下面有若干行,在若干行里找到123,然后把123换到456所在行中 123换成456 456换成123 这样子。因为shuzi和mingzi是经常变的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式