我有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 12345 12
b表id | address | userid | phone
------|-------------|----------|---------
1 长宁区 12 1234
2 浦东新区 12 1234
3 徐汇区 12 1234我如何根据phone 字段 查询到a表里的记录
比如我根据phone 查询,查询的值为 12
我这边不知道为什么老是读出来3条记录请达人指教
FROM tb1 AS A
JOIN tb2 AS B
ON A.userid=B.userid
WHERE B.phone LIKE '12%';
FROM A LEFT JOIN B
ON A.USERID = B.USERID
WHERE B.PHONE LIKE @PHONE + '%'
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
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%'
SELECT DISTINCT A.*
FROM tb1 AS A
JOIN tb2 AS B
ON A.userid=B.userid
WHERE B.phone LIKE '12%';