--大概思路:如果是從主表一直left join 子表 ,distinct業(yè)務(wù)層次最底層的子表ID
--wz_xqjhd 物資需求計劃單
--wz_zbbd 物資招標(biāo)標(biāo)段
--WZ_ZBBDQB 招標(biāo)標(biāo)段簽報
--wz_yzbfa 物資預(yù)中標(biāo)方案
--wz_qbzb 物資簽報主表
--wz_zbjg 物資中標(biāo)結(jié)果
--jhtm 計劃條目
--jhtmfp 計劃條目分配
--以上表關(guān)系 :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相當(dāng)于中間表
-- wz_xqjhd(1:n) wz_zbjg
-- jhtmfp 為wz_jhtm與wz_zbbd的中間表
-- wz_jhtm 條目一層 相當(dāng)于是業(yè)務(wù)的最低層 這個時候可以distinct去過濾最底層數(shù)據(jù)
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;
以上是從主表關(guān)聯(lián)子表 一層一層來的,下面是從子表開始:
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還是子表開始,具體得看業(yè)務(wù)邏輯,參考的具體層次
posted on 2011-11-03 10:52
孤飛燕 閱讀(4596)
評論(0) 編輯 收藏 所屬分類:
數(shù)據(jù)庫