mysql:  select distinct tt.* from biz_database_class t,biz_database_class tt where t.treeno like tt.treeno|| '%'and t.treeno in(select treeno from biz_database_class  Where 1=1 and TITLE like '%刑事法%' and leafnode = '1') order by tt.SORTID ASc
结果:查询出了表里面的全部内容 过滤条件没起作用同样的sql放到oracle里面得出的结果是正确的
       rec_id     title    leafnode treeno  sortid
1 2 法律法规  0 0001 1
2 6 刑事法  1 00010002 2请问如何只修改sql语句 能在mysql中得到与在oracle中相同的结果?

解决方案 »

  1.   

     参考下贴中的方法。 如果仍无法满足楼主的要求,则建议楼主给出测试数据 
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。   
    http://blog.csdn.net/acmain_chm/article/details/4142971
    MySQL中进行树状所有子节点的查询
    在Oracle 中我们知道有一个 Hierarchical Queries 通过CONNECT BY 我们可以方便的查了所有当前节点下的所有子节点。但很遗憾,在MySQL的目前版本中还没有对应的功能。 在MySQL中如果是有限的层次,比如我们事先如果可以确定这个树的最大深度是4, 那么所有节点为根的树的深度均不会超过4,则我们可以直接通过left join 来实现。 但很多时候我们...
      

  2.   

    方法找到了 mysql 里面的 || 是CONCAT()表示的