一张表暂叫A表,其中的一条数据叫:交通运输部南海救助局  另一张表暂叫A表,其中的数据叫:南海救助局(交通运输部)两表的关联关系就靠这个名字,但是就是名字就有点不一样,看规律,其中有一些字是相同的,怎么把他们关联查询出来待高手解燃眉之急!  

解决方案 »

  1.   

    自己写一个function来判断两个字段之间的关系,那规则你就可以在function里面实现了。
      

  2.   


    select * from B where B.col1 like '%交通运输部%' and B.col1 like '%南海救助局%'人工把A表按短语拆分 可行不? 因为A表只有一条记录按字拆分可能也行
      

  3.   

    select * from tablea a,tableb b where a.name=substr(b.name,instr(b.name,'(',1,1)+1,length(b.name)-instr(b.name,'(',1,1)-1)||substr(b.name,1,instr(b.name,'(',1,1)-1);
      

  4.   

    SQL> select substr('南海救助局(交通运输部)',
      2                instr('南海救助局(交通运输部)', '(', 1, 1) + 1,
      3                length('南海救助局(交通运输部)') -
      4                instr('南海救助局(交通运输部)', '(', 1, 1) - 1) ||
      5         substr('南海救助局(交通运输部)',
      6                1,
      7                instr('南海救助局(交通运输部)', '(', 1, 1) - 1)
      8    from dual;
     
    SUBSTR('南海救助局(交通运输部
    ------------------------------
    交通运输部南海救助局
     
    SQL> 
      

  5.   


    这个sql是很复杂,但是还是不行,结果是根本查不出一条数据!
      

  6.   

    这种貌似没什么好办法,创个新表,把数据都备份下.然后看看数据有几类,依次update下,将两个字段的形式搞成一样的.
      

  7.   


    length(translate('交通运输部南海救助局','南海救助局(交通运输部)','aaaaaaaaaaaa'))>0
      

  8.   


    上月20多号就五角了,都快升星星了,哈哈,加油! baxia!
      

  9.   

    还没下班啊 minitoy?  我打算打道回府了!
      

  10.   

    处理数据时脏活累活,慢慢整吧,good luck
      

  11.   

    1.translate函数
    2.建立两个列的关系对照表,三张表关连