孤灯野火
畅想的天空
posts - 2,comments - 4,trackbacks - 0
--大概思路:如果是从主表一直left join 子表 ,distinct业务层次最底层的子表ID
--wz_xqjhd 物资需求计划单
--wz_zbbd 物资招标标段
--WZ_ZBBDQB 招标标段签报
--wz_yzbfa 物资预中标方案
--wz_qbzb 物资签报主表
--wz_zbjg 物资中标结果
--jhtm 计划条目
--jhtmfp 计划条目分配
--以上表关系 :wz_xqjhd(1:n)wz_zbbd  wz_xqjhd(1:n) wz_zbjg
-- wz_yzbfa(1:n)wz_zbbd  wz_qbzb(1:n)WZ_ZBBDQB  wz_zbbd(1:n)WZ_ZBBDQB  WZ_ZBBDQB相当于中间表
-- wz_xqjhd(1:n) wz_zbjg
-- jhtmfp 为wz_jhtm与wz_zbbd的中间表
-- wz_jhtm 条目一层 相当于是业务的最低层 这个时候可以distinct去过滤最底层数据
select distinct(jhtm.jhtm_id) ,xqjhd.*,zbbd.*,jhtm.* from wz_xqjhd xqjhd
    left join wz_zbbd zbbd on zbbd.xqjhd_id = xqjhd.xqjhd_id
    left join WZ_ZBBDQB zbbdqb on zbbdqb.zbbd_id=zbbd.zbbd_id
    left join wz_yzbfa yzbfa on yzbfa.yzbfa_id=zbbd.yzbfa_id
    left join wz_qbzb qbzb on qbzb.qb_id=zbbdqb.dbqb_id
    left join wz_zbjg zbjg on zbjg.Xqjhd_Id=xqjhd.xqjhd_id
    left join wz_jhtm jhtm on jhtm.xqjhd_id=xqjhd.xqjhd_id
    left join wz_jhtmfp jhtmfp on jhtmfp.jhtm_id=jhtm.jhtm_id and jhtmfp.zbbd_id=zbbd.zbbd_id;

以上是从主表关联子表 一层一层来的,下面是从子表开始:
   select distinct(jhtm.jhtm_id) ,xqjhd.*,zbbd.*,jhtm.* from wz_jhtm jhtm
    left join wz_jhtmfp jhtmfp on jhtmfp.jhtm_id=jhtm.jhtm_id 
    left join wz_zbbd zbbd on jhtmfp.zbbd_id = zbbd.zbbd_id
    left join WZ_ZBBDQB zbbdqb on zbbdqb.zbbd_id=zbbd.zbbd_id
    left join wz_yzbfa yzbfa on yzbfa.yzbfa_id=zbbd.yzbfa_id
    left join wz_qbzb qbzb on qbzb.qb_id=zbbdqb.dbqb_id
    left join wz_xqjhd xqjhd on xqjhd.xqjhd_id=jhtm.xqjhd_id
    left join wz_zbjg zbjg on zbjg.Xqjhd_Id=xqjhd.xqjhd_id

从主表开始left join还是子表开始,具体得看业务逻辑,参考的具体层次
posted on 2011-11-03 10:52 孤飞燕 阅读(4563) 评论(0)  编辑  收藏 所属分类: 数据库

只有注册用户登录后才能发表评论。


网站导航: