table1,
col1        col2
A1-22-33-AB    a1
A2-33-B       a2
A2-33         a3
A4            a4  table2
col1     col2
AB        a
B         b
取出所有table1中的记录,table1.col1中最后一个"-"后的子串与table2.col1相等的连接,若在table2中没找到,或table1.col1无“-”,则col3为空。
查询结果
col1         col2   col3   
A1-22-33-A    a1     a
A1-33-B       a2      b
A2-33          a3    空串
A4            a4     空串
    
请大家尽可能给出各种简单的查询方法。

解决方案 »

  1.   

    select t1.*,t2.col1 as col3 from table1 t1
    left join table2 t2
    on t1.col1 like '%-'+t2.col1
      

  2.   

    To itblog:
    你的方法在table1.col1中没有'-'时col3为null,稍微改一下就OK了select t1.*,t2.col2 as col3 from table1 t1
    left join table2 t2
    on '-'+t1.col1 like '%-'+t2.col1
      

  3.   

    或table1.col1无“-”,则col3为空。Sorry,我看漏了,U Right