LEFT JOIN 取出右表数据全部为空

icoic 2018-05-05 07:40:55
如题,扎心了。但是换一个右表,同样的右表只是筛选的内容不一样,又正常了,不是很理解这种现象,求解。

...全文
6748 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
等待戈多12 2018-05-08
  • 打赏
  • 举报
回复 2
你其实已经找到问题了,图一的右表应该是没有数据的,你用查询条件把数据过滤掉了,应该是没有两证印花税的记录,但是有有线电视的记录,所以出现这种情况。
jenny6666 2018-05-06
  • 打赏
  • 举报
回复
可能left join的表中的内容空值,把连接不到的空值设为0,这样就能知道它的内容是否为空了,数据库中NVL 函数可实现:select NVL(B.f,0) from a A left join b B on A.e=B.e
TT^_^TT 2018-05-06
  • 打赏
  • 举报
回复
你刚开始的那个表可能为空值(NULL)这样的话NULL连接任意表的内容都为空值,那右表不会说明右表的值不为空 这时你得先将NULL转换为‘ ’这样连接就不会得到NULL,转换格式如下: ISNULL(convert(对象类型,对象名称),‘’)
二月十六 2018-05-05
  • 打赏
  • 举报
回复
可能left join的表中没有数据,先确保left jion的表是否有数据
mingqing6364 2018-05-05
  • 打赏
  • 举报
回复
单独把图一中left join 里面的语句拿出来,再加上一个条件,s_fee.tradeguid=xxx,看看是不是包含了这条记录

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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