--大概思路:如果是從主表一直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;
以上是從主表關聯子表 一層一層來的,下面是從子表開始:
從主表開始left join還是子表開始,具體得看業務邏輯,參考的具體層次
以上是從主表關聯子表 一層一層來的,下面是從子表開始:
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還是子表開始,具體得看業務邏輯,參考的具體層次