表中有数据,为什么查询出来的结果为NUll

liuyongjun1 2014-05-27 11:51:05
select e.lscj,e.lscjje,e.dj

from spkfk a(nolock)
join ywmxk b(nolock) on a.spid=b.spid
left join ps_sphwph e(nolock) on e.spid=b.spid and e.hw=b.hw and e.dj_sn=b.dj_sn and b.djbh=e.djbh
join cwk c(nolock) on b.djbh=c.djbh
join mchk d(nolock) on c.shdwbh=d.dwbh
where a.beactive='是'
and ( c.djbs='XSA' or c.djbs='XSC')
and b.psr='王小'
and c.rq >='2014-01-01'
and c.rq <='2014-05-31'



e.lscj,e.lscjje,e.dj 查询出的结果均为NUll, 表ps_sphwph 中这几个字段都有数值
是语句结构不对?



...全文
446 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
---涛声依旧--- 2014-05-27
  • 打赏
  • 举报
回复
楼主要理解left join 的含义了 --将left join 改为inner join

select e.lscj,e.lscjje,e.dj
from spkfk a (nolock)
inner join ywmxk b(nolock) on a.spid=b.spid 
inner join ps_sphwph  e(nolock) on e.spid=b.spid and e.hw=b.hw and e.dj_sn=b.dj_sn  and b.djbh=e.djbh
inner join cwk c(nolock) on b.djbh=c.djbh
inner join mchk d(nolock) on c.shdwbh=d.dwbh
where  a.beactive='是'
and ( c.djbs='XSA'  or  c.djbs='XSC')
and b.psr='王小'
and c.rq >='2014-01-01'
and c.rq <='2014-05-31'

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧