a表有字段linkid
b表有字段linkid
主外键关系 但没有硬性的约束现左连接
select 字段 from a left join b on a.linkid=b.linkid
我要的效果是a表的linkid字段如果为空,那么b表的字段都为null值
现在的问题是a、b的linkid都有空值,按说查出来的条数应该和a表一致,但这样无效数据就多了很多
求帮助
b表有字段linkid
主外键关系 但没有硬性的约束现左连接
select 字段 from a left join b on a.linkid=b.linkid
我要的效果是a表的linkid字段如果为空,那么b表的字段都为null值
现在的问题是a、b的linkid都有空值,按说查出来的条数应该和a表一致,但这样无效数据就多了很多
求帮助
select 字段 from a left join b on a.linkid=b.linkid
where a.linkid is not null
declare @ta table([id] int,[name] varchar(8))
insert @ta
select 1,'zhangSAN' union all
select 2,'lisi' union all
select null,'wangwu' union all
select null,'qwe'--> 测试数据:@tb
declare @tb table([id] int,[class] varchar(3))
insert @tb
select 1,'bbb' union all
select 2,'aaa' union all
select null,'ccc' union all
select null,'zxc' union all
select null,'asd' union all
select 3,'ddd'select * from @ta a left join @tb b on a.id=b.id
/*
id name id class
----------- -------- ----------- -----
1 zhangSAN 1 bbb
2 lisi 2 aaa
NULL wangwu NULL NULL
NULL qwe NULL NULL*/想要如何处理?
where a.linkid is not null
如果 is not null
那么a表里的linkid为null的数据都直接不显示了...
这不是我要的效果啊
如果 is not null
那么a表里的linkid为null的数据都直接不显示了...
这不是我要的效果啊select * from a left join (select * from b where linkid is not null ) b
on a.linkid=b.linkid