我有a表id    |    orderid  |  userid
------|-------------|----------
1            12345       12
b表id    |    address  |  userid  |  phone
------|-------------|----------|---------
1         长宁区          12         1234 
2         浦东新区        12         1234
3         徐汇区          12         1234我如何根据phone 字段 查询到a表里的记录
比如我根据phone 查询,查询的值为 12
我这边不知道为什么老是读出来3条记录请达人指教

解决方案 »

  1.   

    SELECT DISTINCT A.*
    FROM tb1 AS A
        JOIN tb2 AS B
    ON A.userid=B.userid
    WHERE B.phone LIKE '12%';
      

  2.   

    declare @phonE varchar(20)SELECT DISTINCT A.* 
    FROM A LEFT JOIN B 
    ON A.USERID = B.USERID 
    WHERE B.PHONE LIKE  @PHONE + '%' 
      

  3.   


    create table  #B(id int primary key ,address varchar(500),userID int,phone varchar(500),)
    insert into #B
    select 1   ,     '长宁区'    ,      12    ,    '1234' union all
    select 2    ,    '浦东新区'  ,      12    ,    '1234' union all
    select 3    ,    '徐汇区'    ,      12    ,    '1234' 
    select distinct #a.* from #a  left join #B
    on #a.userID =#b.userID
      

  4.   

    SELECT A.* FROM A LEFT JOIN B ON A.USERID=B.USERID AND B.PHONE='1234'
      

  5.   


    create table  #a(id int primary key ,orderid varchar(500),userID int)
    insert into #a
    select 1        ,    '12345'  ,    12 
    create table  #B(id int primary key ,address varchar(500),userID int,phone varchar(500),)
    insert into #B
    select 1   ,     '长宁区'    ,      12    ,    '1234' union all
    select 2    ,    '浦东新区'  ,      12    ,    '1234' union all
    select 3    ,    '徐汇区'    ,      12    ,    '1234' 
    select distinct #a.* from #a  inner  join #B
    on #a.userID =#b.userID
    where  #b.phone like '%12%'
      

  6.   


    SELECT DISTINCT A.*
    FROM tb1 AS A
        JOIN tb2 AS B
    ON A.userid=B.userid
    WHERE B.phone LIKE '12%';