SQL数据库表中两行数据互换

能用一条语句完成么?怎么做?我的是SQL2005
不是两行的信息全部交换,只是一部分

第1个回答  推荐于2018-04-13
做列表上下移动的时候遇到过,改造了下可以看看
update student t set
t.name =
(case when t.id = '1'
then (select t2.name from student t2 where t2.id ='2')
else (select t2.name from student t2 where t2.id ='1')
end) where t.id in ('1','2')本回答被网友采纳
第2个回答  2010-01-25
想办法写个语句把表中两行ID实现交换就行了!其它的都不用动!

不过好像要实现这个得写存储过程!本回答被提问者采纳

SQL数据库表中两行数据互换
update student t set t.name = (case when t.id = '1'then (select t2.name from student t2 where t2.id ='2')else (select t2.name from student t2 where t2.id ='1')end) where t.id in ('1','2')

sql 语句 实现 同一列上两个值互换
用变量 先找到第一个得知 再找第二个 根据值互换 比如:我要将a表的字段name第2行数据和第5行数据进行互换(以下代码直接可运行)--穿件临时表 create table #a (id int not null identity(1,1) primary key ,[name] nvarchar(10) not null )insert #a select 'a'union all select'b'un...

sql 如何将两行换位
数据在表中是没有实际位置的概念的,所以排序只可以在select的时候设置,update是不能更改循序的,如果要实现你的效果,首先你要找一个主键或一个保存数据顺序的字段,这样才好设置调转两条记录的顺序 ,当你找好了主键或创建了保存数据顺序的字段,如果是主键,只能每次select的时候为这情况特别处理,如果是记录...

sql中如何实现相邻两行数据合并转换
select sum(case when wgrp_id='2' then quota end) w2, sum(case when wgrp_id='3' ;then quota end) w3, mm;from table;group by mm。SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库...

sql server 2008如何将同一张表两行变成另一张表或视图的两列
CREATE TABLE #A (A char(2),B char(2),C char(2));INSERT INTO #A SELECT 'A1', 'B1', 'C1' UNION ALL SELECT 'A2', 'B2', 'C2';GO WITH myCTE AS(SELECT ROW_NUMBER() OVER( ORDER BY (SELECT 1)) AS NO,A,B,C FROM A )SELECT MAX( CASE WHEN NO = 1 THEN ...

SQL使数据两行变一行怎么写?
不需要使用lead函数,用子查询就可以实现了 select s.id,s.time,(select max(time)from table where id = s.id and status = 1 and name = s.name),s.name from table s where status = 0

sql中怎样把同一张表上的两行记录合并在一行上展示
表二是 A001 和B001的关系图。表示他们在同一A NCCode 和01 DPCode中。现要求将 同一A NCCode 和 DPCode中的温度湿度 光照 二氧化碳的值成为一行上而不是如表1在两行上。如果是建视图 怎么 建 或用sql 怎么表示 查出结果如下 NCCode 温度 湿度 光照 二氧化碳 A 25.2 102.39 204.7 1058.66 展开 我来...

请教一个SQL语句的问题,如何进行两行数据对应相减
数据库对数据是按行为单位,对列进行查询、运算等等操作进行投影的。如果你想对同张表的两行数据对应相减,你应该让表自连接,连接条件就是你说的对应关系,然后连接后就变成一行,数值变为两列,就可以运算了 示例:select a.cnt-b.cnt from my_table a,my_table b where 对应关系;

sql语句查询出的两行数据除了主键其他都一样,怎么去掉重复数据
1、首先创建一个百位表,并在该表中插入重复的记录,如下图所示。2.在插入之后,我们可以看到表中有重复的度数数据,如下图所示。3.接下来,我们必须记住在删除之前要备份,如下图所示。4.可以使用不同的字段设置排除重复的记录,如下图所示,然后将重复数据插入新表中。5.然后,您将在数据表下看到...

sql插入了同样的两行怎么删除其中一行
先假设这个表名叫test表,里面有三列,分别是test列,key列,和datetime列,然后用下面语句 delete from test where rowid not in(select max(rowid) from test group by test.test,test.key,test.datetime)这是oracle里的用法。

相似回答