我可以: 邀请好友来看>>
ZOL星空(中国) > 技术星空(中国) > MySQL星空(中国) > 请教各位一个 复杂sql,关于左连接的。
帖子很冷清,卤煮很失落!求安慰
返回列表
签到
手机签到经验翻倍!
快来扫一扫!

请教各位一个 复杂sql,关于左连接的。

55浏览 / 1回复

0
精华
115
帖子

等  级:Lv.1
经  验:0
  • Z金豆:

    千万礼品等你来兑哦~快点击这里兑换吧~

  • 城  市:
  • 注  册:
  • 登  录:
发表于 2009-02-12 11:08:48
电梯直达 确定
楼主
oracle:
select  *
from
        a,
        atype,
        b,
        btype,
        c,
        d
where
        a.dn is not null
        and a.bid=b.id(+)
        and a.atypeid=atype.id(+)
        and b.btypeid=btype.id(+)
        and a.cid=c.id(+)
        and c.did = d.id(+)


mysql :

第一种:
结果: 统计数据少了。

from
        a left join (
        atype,
        b,
        btype,
        c,
        d )
on         (
        a.bid=b.id
        and a.atypeid=atype.id
        and b.btypeid=btype.id
        and a.cid=c.id  
        and c.did = d.id
        )
where        
        a.dn is not null ;


第二种:
结果:查询语句一直没有结果.
from        
        a left join (
        b aaa ,
        atype,
        c bbbb
        )
        on(
        a.bid=aaa.id
        and a.atypeid=atype.id
        and a.cid=bbbb.id
        ) ,       
        b left join (
        btype
        )
        on (
        b.btypeid=btype.id
        ) ,
        c left join (
        d
        )
        on (
        c.did = d.id       
        )
where
        a.dn is not null
;


精华

帖子

等  级:Lv.1
经  验:0
发表于 2009-02-12 11:08:48 1楼
from
        a left join (
                                                atype,
                                                b,
                                                btype,
                                                c,
                                                d )
                on         (
                                                a.bid=b.id
                                                and a.atypeid=atype.id
                                                and b.btypeid=btype.id
                                                and a.cid=c.id  
                                                and c.did = d.id
                                        )
where         
        a.dn is not null ;


你这样写是不对的,有 and c.did = d.id  与  and b.btypeid=btype.id
就不是稳定的内容联合...故要拆散为一个一个的LEFT JOIN 方式







高级模式
星空(中国)精选大家都在看24小时热帖7天热帖大家都在问最新回答

针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员查看帮助  或  给我提意见

快捷回复 APP下载 返回列表