select b.name,case when a.id is null then 'false' else 'true' end from b left join a on a.id=b.id
select b.name ,case when exists(select 1 from a where id=b.id) then 'true' else 'false' end from b
select b.name,isidina=case when exists(select 1 from a where charindex(','+ltrim(id)+',',','+b.aid+',')>0 then 'true' else 'flase' end from b
select b.name,case when exists(select 1 from a where id=b.id) then 'true' else 'false' end from b
select b.name,case when a.id is null then 'false' else 'true' end from b left join (select id from a group by id) b on a.id=b.id
看来我想多了,我以为B表的ID像字符串型的样式('3,5,7,8')
create table #A ( ID int identity(1,1) primary key, BID int, AName nvarchar(30) ) insert into #A select 1,'aa' insert into #A select 2,'bb' insert into #A select 3,'cc' insert into #A select 4,'dd'create table #B ( ID int identity(1,1) primary key, AID int, BName nvarchar(30) ) insert into #B select 1,'aaaaa' insert into #B select 33,'bbbbb' insert into #B select 31,'ccbbbb' insert into #B select 4,'dddddd'select A.BID,case when B.AID=A.BID then 'true' else 'false' end from #A A left join #B B on B.AID=A.BIDBID ----------- ----- 1 true 2 false 3 false 4 true(4 行受影响)
from b
left join a on a.id=b.id
,case when exists(select 1 from a where id=b.id) then 'true' else 'false' end
from b
from b
b.name,case when exists(select 1 from a where id=b.id) then 'true' else 'false' end
from
b
from b
left join (select id from a group by id) b
on a.id=b.id
(
ID int identity(1,1) primary key,
BID int,
AName nvarchar(30)
)
insert into #A select 1,'aa'
insert into #A select 2,'bb'
insert into #A select 3,'cc'
insert into #A select 4,'dd'create table #B
(
ID int identity(1,1) primary key,
AID int,
BName nvarchar(30)
)
insert into #B select 1,'aaaaa'
insert into #B select 33,'bbbbb'
insert into #B select 31,'ccbbbb'
insert into #B select 4,'dddddd'select A.BID,case when B.AID=A.BID then 'true' else 'false' end
from #A A
left join #B B
on B.AID=A.BIDBID
----------- -----
1 true
2 false
3 false
4 true(4 行受影响)