我正在尝试在 2 个表上运行左连接。我没有分组依据,我唯一的条件是在第二张桌子上。但是,返回的行数少于第一个表。左连接不是应该从第一个表中获取所有数据吗?
这是我的 SQL:
select *
from tbl_a A left join tbl_b B
ON
A.Cnumber=B.Cnumber
and A.CDNUmber=B.CDNumber
and abs(A.duration - B.Duration)<2
and substr(A.text,1,3)||substr(A.text,5,8)||substr(A.text,9,2)=substr(B.text,1,8)
where B.fixed = 'b580'
A表有14万条记录,但返回的结果不到10万条记录。问题是什么?我该如何解决?
一旦您在其中提出条件WHERE
引用正确的表并且不适应的子句NULL
连接失败时将生成的 s,您已将其(有效地)转换回INNER JOIN
.
Try:
where B.fixed = 'b580' OR B.fixed IS NULL
或者将此条件添加到ON
条款为JOIN
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)