某表:t_servicename
字段:f1,f2,……,fn(n为确定正整数)
查询要求:f1,f2字段类型均为varchar2,现需求查询这张表的某些数据使得这些记录中任意两条记录的f2字段的内容相同且f1字段的内容相同且f1字段的前两位为‘00’
字段:f1,f2,……,fn(n为确定正整数)
查询要求:f1,f2字段类型均为varchar2,现需求查询这张表的某些数据使得这些记录中任意两条记录的f2字段的内容相同且f1字段的内容相同且f1字段的前两位为‘00’
解决方案 »
- 如何以参数的形式将数据插入数据库 其中有日期类型的?
- 存储过程中如何获取后台文件内容到数据库的一样表中
- 如何优化一下下面的SQL运行速度?
- 第一次安装10g,安装后不知以前版本的dba可视化控制台如何调出?
- 讨论:论坛数据库如何设计会更优?请大家踊跃参加。
- 新手,请问在哪里查看库中所有表的外键?
- sun 的3310磁盘阵列 LGWR: terminating instance due to error 340
- 我用vb调用oracle,但是返不回记录集!!!!!!急!!!!!!!!!!!
- 同志大哥:如何解决数据库查询速度慢的问题?
- oracle启动问题
- 关于rman一些很弱的问题,高手指点
- 新手问题:关于用ECLIPSE连接ORACLE的问题
FROM t_servicename A
INNER JOIN t_servicename B ON A.F2 = B.F2 AND A.F1 = B.F1
WHERE A.F1 LIKE '00%'
/
---------- ----------
001 002
234 002
002 002
002 004
004 008
001 0026 rows selectedSQL>
SQL> SELECT A.*
2 FROM test A
3 INNER JOIN test B ON A.F2 = B.F2 AND A.F1 = B.F1
4 WHERE A.F1 LIKE '00%'
5 ;F1 F2
---------- ----------
001 002
001 002
001 002
001 002
002 002
002 004
004 0087 rows selected
搂主的条件有两个,一是f1满足 like '00%, 二是任意两行满足f1,f2分别相等,其实将条件2归纳一下,就是所有结果集中,f1,f2字段相同.
那么可以用下面的方案得到结果.
SQL> select * from test where (f1,f2) in ( select f1 ,f2 from test where f1 like '00%' and rownum<2);F1 F2
---------- ----------
001 002
001 002SQL>