表1:代号          名称
1451-EE29-18  
1451-EF32-18表2
代号          名称
1451-EE29-10
1451-EF32-10表1的代号和表2的代号只有最后一位不一样,如何以表1代号为准,将这两个字段连接正常应该这样写:
select 名称,数量... from 表1 INNER JOIN 表1 on 表1.代号=表1.代号

解决方案 »

  1.   

    select 名称,数量... from 表1 INNER JOIN 表1 on LEFT(表1.代号,8)=LEFT(表1.代号,8)什么意思??
      

  2.   

    select * 
    from 
    表1 inner join
    表2 on convert(varchar(9),表1.代号)=convert(varchar(9),表2.代号)
      

  3.   

    select * from 表1 a join 表2 b on left(a.代号,len(a.代号)-1)=left(b.代号,len(b.代号)-1)
      

  4.   


    select 名称,数量... from 表1 
    INNER JOIN 表1 
    on left(表1.代号,len(表1.代号)-1)=left(表2.代号,len(表2.代号)-1) 
      

  5.   


    select 名称,数量... from 表1 INNER JOIN 表2 
    on substring(表1.代号,1,len(表1.代号)-1)=substring(表2.代号,1,len(表2.代号)-1)
      

  6.   

    select 名称,
            数量 
    from 表1 INNER JOIN 表1 on 
    stuff(reverse(表1.代号),1,1,'')=stuff(reverse(表1.代号),1,1,'')
      

  7.   

    select 名称,数量... from 表1 INNER JOIN 表2 on left(表1.代号,len(表1.代号)-1)=left(表2.代号,len(表2.代号)-1)
      

  8.   

    这不没有动吗
    select * 
    from 
    表1 
    inner join
    表2 on convert(varchar(9),表1.代号)=convert(varchar(9),表2.代号)
    inner join
    表3 on 表1.代号=表3.代号
      

  9.   

    select * from 表1 a ,表2 b 
    where  a.代号 like left(b.代号,len(b.代号)-1)+'_'select * from 表1 a ,表2 b 
    where  a.代号 like left(b.代号,len(b.代号)-1)+'%'