社区
C#
帖子详情
如何用一条SQL语句交换两条记录的某个字段值
runrunrun
2006-06-29 08:54:31
假设一个表,有两个字段 [ID], [序号]
有两条记录
id1, 1
id2, 2
现在我想交换它们两个的序号,也就是说变成
id1, 2
id2, 1
能否用一条sql语句实现
...全文
1087
11
打赏
收藏
如何用一条SQL语句交换两条记录的某个字段值
假设一个表,有两个字段 [ID], [序号] 有两条记录 id1, 1 id2, 2 现在我想交换它们两个的序号,也就是说变成 id1, 2 id2, 1 能否用一条sql语句实现
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
paoluo
2006-06-30
打赏
举报
回复
不好意思,說的樓上是kssys() ,語句使用的前提是確實只有兩條數據。
Create Table TEST(ID Varchar(50),序号 Int)
Insert TEST Select 'id1',1
Union All Select 'id2',2
GO
UPDATE T1
SET 序号=T2.序号
FROM TEST T2 Inner Join TEST T1 On T2.ID<>T1.ID
Select * From TEST
GO
Drop Table TEST
--Result
/*
ID 序号
id1 2
id2 1
*/
paoluo
2006-06-30
打赏
举报
回复
樓上的思路是對的,但是語法有錯誤。
UPDATE T1
SET 序号=T2.序号
FROM TEST T2 Inner Join TEST T1 On T2.ID<>T1.ID
Knight94
2006-06-30
打赏
举报
回复
to 就是调整两条记录的次序,所以要交换它们的序号。我想用一条SQL语句实现
也就是 UPDATE ...
一句不太可能
jiang8282
2006-06-30
打赏
举报
回复
曾经有人考过我.
update table set a = b ,b=a
不信可以试试,
a 也 b 的字段类型要一至.
paoluo
2006-06-30
打赏
举报
回复
如果數據為
id1, 1
id2, 2
id3, 3
id4, 4
你UPDATE後的結果是怎樣的??
runrunrun
2006-06-30
打赏
举报
回复
好象语法错
paoluo
2006-06-30
打赏
举报
回复
id1, 1
id2, 2
id3, 3
id4, 4
你UPDATE後的結果是怎樣的??
runrunrun
2006-06-30
打赏
举报
回复
多谢回答。数据库里显然不可能只有两条数据,
下面这样做不知可否
UPDATE T1
SET 序号=T2.序号
FROM TEST T2 Inner Join TEST T1 On T2.ID<>T1.ID
where T2.ID=='id1' or T2.ID=='id2'
kssys
2006-06-29
打赏
举报
回复
Try this:
UPDATE Table1
SET 序号=T2.序号
FROM Table1 T2 WHERE T2.ID<>Table1.ID
runrunrun
2006-06-29
打赏
举报
回复
就是调整两条记录的次序,所以要交换它们的序号。我想用一条SQL语句实现
也就是 UPDATE .....
kssys
2006-06-29
打赏
举报
回复
这个需求好奇怪啊。
SELECT T1.ID,T2.序号
FROM Table T1
JOIN Table T2 ON T2.ID<>T1.ID
一个
sql语句
同时实现
两条
数据的某个
字段
值
交换
首选声明一点,遇到此类需求,首选的肯定是用存储过程,不过今天同事就是说不想用存储过程,所以再想到这最粗暴的做法。 数据库表数据: 目的: 用
一条
sql语句
实现imageid为8和9的
两条
数据中image_num
值
得互换 update sys_image set image_num = (case when image_id = 8 then (select image_
关于用
一条
sql语句
实现
交换
两条
记录
的的数据
在项目中做列表上下移动的时候,遇到这种情况,想根据2行数据的流水号
交换
移动排序
字段
的
值
(因为担心排序
字段
没
值
所以加了nvl,空的时候使用流水号): oracle数据库: update tableName t set t.SORT_ROWNUM = decode(t.num_id,'29...
用sql
交换
两条
数据中某个
字段
的
值
update Salary set sex =(case sex when 'm' then 'f' else 'm' end) update salary set sex = char(ascii('m') + ascii('f') - ascii(sex));
oracle 使用
sql语句
实现
交换
一个表中
两条
记录
的某个
字段
的内容
sql sql sql sql sql sql sql sql sql sql sql sql sql sql sql sql sql sql sql sql sql sql sql sql
数据库
两条
数据
交换
某一个
字段
的
值
【代码】数据库
两条
数据
交换
某一个
字段
的
值
。
C#
111,075
社区成员
642,571
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章