求SQL同一个表中的两个列复制的语句

我要将id1--id5的数据复制到id中

说明:
如果值为NULL,就跳过,如下表中的第1和第2行;
如果同一行中有多个值(可以肯定这些值一定也是相同的),那么只要一个值,如表中的第3和第4行

可以分多次复制
比如第一次合并
id1到id
第二次合并
id2到id
............

原来的表:
列id的初始值=NULL

id id1 id2 id3 id4 id5
1 NULL 1 NULL NULL NULL NULL
2 NULL NULL 2 NULL NULL NULL
3 NULL NULL NULL 5 5 5
4 NULL NULL NULL 5 5 5
5 .... .... .... .... .... ....

合并后的表:
id id1 id2 id3 id4 id5
1 1 1 NULL NULL NULL NULL
2 2 NULL 2 NULL NULL NULL
3 5 NULL NULL 5 5 5
4 3 NULL NULL 3 3 3
5 .... .... .... .... .... ....
数据库为MS SQL 2000

to:
qtoy2ha
按你说的做了
但是没有数据更新到id
运行后id列还是空值,不知道是那里出错了?

OK了
我将你的语句做了一点改动:
UPDATE [表名] SET [id] = [id1] WHERE [id1] > 0
UPDATE [表名] SET [id] = [id2] WHERE [id2] > 0
UPDATE [表名] SET [id] = [id3] WHERE [id3] > 0
UPDATE [表名] SET [id] = [id4] WHERE [id4] > 0
UPDATE [表名] SET [id] = [id5] WHERE [id5] > 0

谢谢你!!!

不知道你是用的什么数据库,又是要用什么语言,我给你写个ASP的吧
for i = 1 to 5
sql = "UPDATE [表名] SET [id] = [id" & i & "] WHERE [id] = NULL"
conn.execute(sql)
next

不明白再问
------------------>>
用我这个笨方法吧
复制下面SQL语句到MS SQL 的SQL查询分析器,把表名改为你的表名,运行就OK了

UPDATE [表名] SET [id] = [id1] WHERE [id] = NULL
UPDATE [表名] SET [id] = [id2] WHERE [id] = NULL
UPDATE [表名] SET [id] = [id3] WHERE [id] = NULL
UPDATE [表名] SET [id] = [id4] WHERE [id] = NULL
UPDATE [表名] SET [id] = [id5] WHERE [id] = NULL
温馨提示:内容为网友见解,仅供参考
无其他回答

求SQL同一个表中的两个列复制的语句
复制下面SQL语句到MS SQL 的SQL查询分析器,把表名改为你的表名,运行就OK了 UPDATE [表名] SET [id] = [id1] WHERE [id] = NULL UPDATE [表名] SET [id] = [id2] WHERE [id] = NULL UPDATE [表名] SET [id] = [id3] WHERE [id] = NULL UPDATE [表名] SET [id] = [...

如何用sql语句复制a表的其中二列数据到b表中指定二列中
select id,chrq from A表 where id Like '4417111401%'

SQL语句中怎样同时查询一个表中的两个字段
SQL语句中同时查询一个表中的两个字段可以参考下面的代码:select 字段1,字段2,...字段n from 表名(如果有条件的话)where age=12 and name=“小名”(如果想排序的话) order by desc(asc)(如果想限制查询条数的话)limit=10

SQL语句把同一个表中的a字段中的数据复制到另一个字段b中
SQL语句把同一个表中的a字段中的数据复制到另一个字段b中可以使用update语句,例如:update cust set s8_16=unit , unit='';上述语句将unit字段内容更新到s8_16字段内,然后将unit字段内容置为了空。

SQL语句如何实现一张表的两个字段通过外连接另一张表得到想要的信息
基本这样:select * from msginfo a,userinfo b,userinfo c where a.msgsenderid=b.userid and a.msgreceiverid=c.userid*你替换成要查询的相应前缀+字段即可。就是userinfo表用两次,分别关联msginfo表的两个字段。

SQL查同一个字段输出两列?
完整SQL如下:select year, sum (case when quantitiy like '%1' then quantitiy else 0 end as ) as 开头为1的quantity之和为一列, sum (case when quantitiy like '%2' then quantitiy else 0 end as ) as 开头为2的quantity之和为一列  from 表名...

SQL 同个表里的不同两个字段的值合并到其中一个字段里面
--查询select 字段a+字段b as [目标] from 表A--更新字段aupdate 表Aset 字段a=字段a+字段b

sql 从一个表内两个字段取另一个表内一个字段的值??
select (select name from 工号姓名表 where gonghao= from) as fromname,(select name from 工号姓名表 where gonghao= to) as toname from 第二个表

mysql 一个表中的两个字段a和b,如何将b的字段值一次性复制给a
update pre_common_member_count set a=(select b from pre_common_member_count as pre where uid=pre.uid )

求SQL语句,一张表中的两个字段,关联到同一个字典表
表名记录(学号(STID),课程号(的objid),得分(NUM))假设有三个家庭分别为1,2,3科目 选择 r1.stid,r1.num ,r2.num,r3.num出租车从 记录R1,R2记录,记录R3 哪里 r1.stid = r2.stid 和r2.stid = r3.stid 和r1.objid = 1 和r2.objid = 2 和r3.objid = 3 不知道...

相似回答
大家正在搜