主表记录:
ID Name
1 AA
2 BB
3 CC
子表记录:
ID Name Rem
1 AA 100
3 CC 200
=================================
查询字表所有的记录,但是如果在子表中有记录,则显示子表记录,没有则为空。
结果:
ID Name Rem
1 AA 100
2 BB
3 CC 200
使用左连接查询:
select 主表.ID,主表.Name,isnull(子表.Rem,'') as Rem
from 主表
left join 子表 on 主表.ID=子表.ID
=================================
想知道主表对应的ID有没有在子表存在的话。
结果:
ID Name Rem
1 AA 有
2 BB 无
3 CC 有
SQL code
select 主表.ID,主表.Name,isnull(#Temp.Rem,'无') as Rem
from 主表
left join
(
select distinct ID,'有' as Rem from 子表
) #Temp
on 主表.ID=#Temp.ID
或者
select a.ID,a.Name,case when b.Rem is not null then '有' else '无' end as Rem
from [主表] a left join [子表] b on a.ID = b.ID