各位大哥,小弟现在遇到个问题,困惑了1天多了,有经验的大哥给点指导,多谢多谢单表查询更新数据id date col1 col2
01 2000-12-12 1a 1b
01 2002-12-12 1b 1c
01 2010-2-1 1a 1b
02 2010-1-5 2a 2b
02 2030-4-1 2a 2b
03 2000-12-12 3a 1b
03 2020-6-9 3a 1b
03 2033-2-10 3a 3b有id date 联合主键
现在要查询出id下个日期更新过数据的那些行。
01 2000-12-12 1a 1b
01 2002-12-12 1b 1c
01 2010-2-1 1a 1b
02 2010-1-5 2a 2b
02 2030-4-1 2a 2b
03 2000-12-12 3a 1b
03 2020-6-9 3a 1b
03 2033-2-10 3a 3b有id date 联合主键
现在要查询出id下个日期更新过数据的那些行。
解决方案 »
- 请教一下:sql语句d.phonenumber = t.phonenumber(+)中的(+)是什么意思?
- Oracle有没有提供对表进行监听的接口(想在程序中对数据库表监听)
- ref cursor奇怪的问题
- sql语句
- 如何用oracle备份数据库文件恢复到一个新建的数据库中?
- 请教所有纪录追加到另一个数据库中的方法
- 请问oracle在NT下的备份,恢复到2000下,与原来的数据库有没有差异 在线
- 小弟对数据库不是很懂,请教各位大侠两条sql有什么不同?谢谢!
- 有一定格式的Word文档中的数据可以导入到数据库吗?
- 聘请JSP/BEA/Oracle辅导老师解决技术问题
- 菜鸟请教:app_folder_move_cursor('1')是什么意思
- 请教一个SQL语句写法
不好意思,说错了,id一样,date不一样,后面的数据一样的话,就是没有更新过,不用列出来的。
create table Tab1 as
(
select '01' a,'2000-12-12' b,'1a' c,'1b' d from dual union
select '01','2000-12-12','1b','1c' from dual union
select '01','2000-2-1','1a','1b' from dual union
select '02','2000-1-5','2b','2b' from dual union
select '02','2000-4-1','2a','2b' from dual union
select '03','2000-12-12','3a','1b' from dual union
select '03','2000-6-9','3a','1b' from dual union
select '03','2000-2-10','3a','3b' from dual
);
select distinct t1.* from tab1 t1,tab1 t2
where t1.b <> t2.b and t1.a=t2.a and (t1.c <> t2.c or t1.d <> t2.d)
order by t1.a ,t1.b;
抱歉,不能用distinct,这样不是逐条比较
需求是和下个date比较,如果下下条数据又被改了回来,依然要拉出来