现数据库中存在如下情况
企业编码 税务登记证号 日期
000 00000000000 2010-08-08
000 00000000000 2010-09-09
001 00000000001 2010-08-08
001 00000000002 2010-09-09说明:库中的企业编码是唯一标识一个企业的,但是每个月的税务登记证号可能会有变化
目的:从上表中提取 企业编码 与 税务登记证号 对应的字典,税务登记证号要取最新更新的那个,
请问高手如何解决啊?急用啊!!求大家多多帮忙,感激不尽!!
注:数据量很大,查询速度比较慢
企业编码 税务登记证号 日期
000 00000000000 2010-08-08
000 00000000000 2010-09-09
001 00000000001 2010-08-08
001 00000000002 2010-09-09说明:库中的企业编码是唯一标识一个企业的,但是每个月的税务登记证号可能会有变化
目的:从上表中提取 企业编码 与 税务登记证号 对应的字典,税务登记证号要取最新更新的那个,
请问高手如何解决啊?急用啊!!求大家多多帮忙,感激不尽!!
注:数据量很大,查询速度比较慢
解决方案 »
- expdp 参数自动转换
- 列名多行显示
- ORA-02019: 未找到远程数据库的连接说明 急!!!
- 急,打开Enterprise Manager console和Net configuration assistant报同样的错误(oran9.dll)
- 数据库高手来啊!为何oracle10g数据库总是查询失败?
- 请教两条SQL的区别,小弟我没弄明白
- 已知存储过程名如sp_InsertInfo,在那张系统表中有这个存储过程的所有入口参数信息?
- oracle怎样监听固定地址?
- 那位大哥安装过oracle app 11i,帮忙解决一下下列问题。郁闷!!!!!
- 如何自动启动其他的实例?
- 如何查询某个schema下所有的序列?
- Oracle中Clob类型转换问题 ·_·! (很急!)
不过这个方法不行,
实际数据如下:
序号 企业编码 税务登记证号 日期
1 10401588 12010400000000001 2010-1-4
2 10401588 12010400000000001 2010-2-1
3 10401588 12010400000000001 2010-3-5
4 10401588 12010400000000001 2010-4-6
5 10401588 12010400000000001 2010-5-6
6 10401588 12010400000000001 2010-6-1
7 10401588 12010400000000001 2010-7-6
8 10401588 12010400000000001 2010-8-5
9 10401588 12010400000000000 2010-9-6用您的方法结果出来是这样的
1 10401588 12010400000000000 2010-9-6
2 10401588 12010400000000001 2010-8-5我只需要查出最新的
1 10401588 12010400000000000 2010-9-6
不需要
2 10401588 12010400000000001 2010-8-5有什么解决方法吗?
大家谁有好的方法不要吝啬啊,谢谢!
Select 企业编码, max(日期) 日期 from table group by 企业编码
)
where m.企业编码 = n.企业编码 and m.日期 <=n.日期)
substr( max( to_char(日期,'yyyymmdd') || 税务登记证号 ), 9, 100) New税务登记证号
from 表
group by 企业编码
where not exists(select 1 from tb b
where a.企业编码=b.企业编码 and a.日期<b.日期)