我希望将记录显现出来,当A表的“地址”列于B表的“地址”列有连续的5个字符相同时(甚至更多)
这个SQL语句怎么写

解决方案 »

  1.   

    使用substring函数select people.res,score.res2 from people,score
    where score.res2=substring(people.res,1,5)输出结果
    people.res      score.res2 
    bbbbbbbbbb      bbbbb
    上海市南京路    上海市南京
    北京市吉祥路    北京市吉祥
      

  2.   

    还是描述的不清楚,要问问题还嫌麻烦吗?你应该将部分数据列出来,然后说你要达到的效果,这样可能就好理解一些不知道是不是这个意思:
    select 
    * from 

    select 地址 from A
    union all
    select 地址 from B
    )T
    group by T.地址
    having count(*)>=5
      

  3.   

    不是所有的数据库都支持substring的,楼主的表达能力差了点~~
    不过如果支持的话,用substring应该可以了~~
      

  4.   

    对不起大家,没讲清除
    曾做了2个用户表,现在我想将A用户表和B用户表统一起来,
    剔除相同的用户,是在SQLServer2000中,用手动的方式判断用户的标志是“地址”列
    但由于当初输入的随意性,比如相同的一个用户
    在A表的地址列“浦东:田园小区148号405室”
    在B表的地址列“浦:田园小区148幢405室”
    故我希望能将有连续5个字符相同的记录列出,
    再看
      

  5.   

    对不起大家,没讲清除
    曾做了2个用户表,现在我想将A用户表和B用户表统一起来,
    剔除相同的用户,是在SQLServer2000中,用手动的方式判断用户的标志是“地址”列
    但由于当初输入的随意性,比如相同的一个用户
    在A表的地址列“浦东:田园小区148号405室”
    在B表的地址列“浦:田园小区148幢405室”故我希望通过查询语句能将两表中“地址列”
    连续5个字符(也可能更多)相同的记录列出,
    再看看,手动删去
      

  6.   

    大家好像没讲清除,可见SQlserver-基础的相同问题
      

  7.   

    樓主的意思是指模糊查詢吧?
    如果是的話用like加*號來查詢
      

  8.   

    仅用sql语句很难实现,因为要遍历所有的5个字符可能情况,建议你还是一个一个的用模糊查询查出来吧,或者用循环,把所有可能的5个字符执行一遍