日期:2014-05-18  浏览次数:20517 次

帮我分析一下两条语句

select * from bm_cbb left join qf_cbqfmx on qf_cbqfmx.sscbb=bm_cbb.cbbbm 
where bm_cbb.cby='26' and qf_cbqfmx.cwrq='201110'


select top 10 bm_cbb.*,qf_cbqfmx.* from bm_cbb , qf_cbqfmx 
where bm_cbb.cby='26' and qf_cbqfmx.cwrq='201110' and qf_cbqfmx.sscbb=*bm_cbb.cbbbm

按道理两句语句一样的啊。咋上面1条数据都没有返回,下面返回两天数据呢?

select * from bm_cbb where cby='26' 有两条数据;

select * from qf_cbqfmx where cwrq='201110'没有数据

下面那条语句是正确的,但是要修改上面那条语句,应该怎样修改?谢谢

------解决方案--------------------
SQL code
--inner join 和 left join 不是一回事

--这个相当于inner join 不是 left join
select * from tablea , tableb where tablea.id=tableb.id

------解决方案--------------------
select a.cbbbm,a.cbbmc,b.yhh b.yhm,b.yhdz
from(select * from bm_cbb where bm_cbb.cby='26')a
left join (select * from qf_cbqfmx 
where cwrq='201110')b on a.sscbb=b.cbbbm