有下面2个表,列1和列2应该是一样的,只是由于种种原因导致有部分数据在括号部分不一致,如果要合并这2个表数据,如果列1、列2名相同的就以相同名为新列名,不同的就以相同部分为新列名,如表3,请教大虾该如何处理,谢谢!!表1

列1 列2
ABC(aa) fdgggfadg
CDGH(AA) dfsadg
AAAA myudg
MUMI(hh) dfj
BNRYUR(kk) cvanl
… …表2

列1 列2
ABC(bb) avfasv
CDGH(AA) fghg
AAAA(GHASD) kjlhm
MUMI(hh) vljg
BNRYUR(kk) losdf
… …
表3
ABC fdgggfadg avfasv
CDGH(AA) dfsadg fghg
AAAA myudg kjlhm
MUMI(hh) dfj vljg
BNRYUR(kk) cvanl losdf
… … …

解决方案 »

  1.   

    select a.*,b.col3 from a left join b on a.col1=b.col1
      

  2.   

    select a.*,列2 from 表1 a left join 表2 b on a.列1=b.列1
      

  3.   


    select a.*,b.列2 from 表1 a left join 表2 b on a.列1=b.列1
    union all
    select substring(a.列1,0,charindex('(',a.列1)),a.列2,b.列2 from 表1 a left join 表2 b on a.列1<>b.列1
      

  4.   

    left on 能取出列值的相同部分么?比如一个是ABC(aa)  一个是ABC(bb)  需要取出的是ABC 这个相同的部分哦