比如一张表的记录中有两条是ID CAPTION ADDRESS
X1 郑州市卫生局 111
001 郑州市卫生局 222
。
。
。
。
查找表中ID是X开头的,并且CAPTION 有重复的(最多两个重复,不可能出现三个有 郑州市卫生局的记录) 把那个记录的值赋予ID是X1的
执行完应该是ID CAPTION ADDRESS
001 郑州市卫生局 222
001 郑州市卫生局 222
X1 郑州市卫生局 111
001 郑州市卫生局 222
。
。
。
。
查找表中ID是X开头的,并且CAPTION 有重复的(最多两个重复,不可能出现三个有 郑州市卫生局的记录) 把那个记录的值赋予ID是X1的
执行完应该是ID CAPTION ADDRESS
001 郑州市卫生局 222
001 郑州市卫生局 222
解决方案 »
- Oracle备份的问题
- oracle数据怪现象
- Oracle数据库中的SQL帮助
- rs.fields.count的是-1
- Oracle 9i安装后不能登录Oracle Management Server的问题
- oracle数据库创建日志以及根据日志恢复数据,在线等
- 如何使用SQL来修改登录数据库的密码?
- 求把A表中的gpdate赋给B表中的item_gpdate字段的sql语句,请大家帮忙!在线等!!
- 一个概念性的问题,也比较的简单的问题,希望大家能够帮忙!
- Oracle net配置测试是显示ORA-12541: TNS: 无监听程序 ,使用使用tnsping时,提示:TNS-03505: 无法解析
- 这个sql 怎么写?
- 请教oracl job的问题(急)
update TABLENAME T1
set (T1.id, T1.ADDRESS) = (select T2.id,
T2.ADDRESS
from TABLENAME T2
where T1.id <> T2.id
and T1.CAPTION = T2.CAPTION)
where substr(T1.id ,1,1) = 'X';
你的语句我执行后提示
ORA-01407:无法更新,,,,,,为NULL的错误提示,请问是怎么回事呢?多谢
UPDATE TABLENAME T1
SET (T1.ID, T1.ADDRESS) = (SELECT T2.ID, T2.ADDRESS
FROM TABLENAME T2
WHERE T1.ID <> T2.ID
AND T1.CAPTION = T2.CAPTION)
WHERE SUBSTR(T1.ID, 1, 1) = 'X'
AND EXISTS (SELECT NULL
FROM TABLENAME T3
WHERE T1.ID <> T2.ID
AND T3.CAPTION = T1.CAPTION);
照你发的sql 可以了,十分感谢。能大概讲讲思路吗?