孤燈野火
          暢想的天空
          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 孤飛燕 閱讀(4602) 評論(0)  編輯  收藏 所屬分類: 數據庫
          主站蜘蛛池模板: 宜兰市| 平南县| 花莲市| 电白县| 修水县| 宁武县| 新源县| 包头市| 冷水江市| 镇平县| 霍林郭勒市| 巴东县| 靖江市| 崇左市| 馆陶县| 天长市| 阜南县| 新泰市| 清新县| 文山县| 天门市| 丹阳市| 维西| 定安县| 阳谷县| 农安县| 山阴县| 越西县| 沙坪坝区| 蛟河市| 顺昌县| 大竹县| 乌拉特后旗| 太仓市| 临沧市| 乐至县| 新源县| 拉萨市| 广灵县| 上饶县| 建宁县|