本帖最后由 wildwave 于 2010-07-07 20:04:50 编辑

解决方案 »

  1.   

    3------------------------------------------------------------------------------
    问卷编号 模板号 总分 所属大类号 所属小类号 新分 小类名称 原分 得分
      108-----20--303------X-------A------100---Aname--110--10
      108-----20--303------X-------B------101---Aname--110--20
      108-----20--303------Y-------C------102---Aname--110--30
    ------------------------------------------------------------------------------
      

  2.   


    SELECT T.問卷編號,T.模板號,T.總分,C.所屬大類,C.所屬小類,C.新分,bm.小類名稱,bm.原分,st.得分,ev.大類名稱
     FROM TOTAL T,CONTENTPOINT C ,bm_evaluationcontent bm ,situation st,bm_evaluation ev
       WHERE T.模板號=C.模板號 and t.問卷編號='108' 
         and bm.小類號 in(select distinct 小類號 from bm_evaluationcontent) 
         and bm.大類號 = st.小類號 and c.所屬大類=ev.大類號---結果問卷編號 模板號 總分 所屬大類 所屬小類 新分 小類名稱 原分 得分 大類名稱
    108        20         303 X          A          100 Aname      110 10 X1        
    108        20         303 X          B          101 Aname      110 10 X1        
    108        20         303 Y          C          102 Aname      110 10 Y2        
    108        20         303 X          A          100 Bname      220 10 X1        
    108        20         303 X          B          101 Bname      220 10 X1        
    108        20         303 Y          C          102 Bname      220 10 Y2        
    108        20         303 X          A          100 Aname      110 20 X1        
    108        20         303 X          B          101 Aname      110 20 X1        
    108        20         303 Y          C          102 Aname      110 20 Y2        
    108        20         303 X          A          100 Bname      220 20 X1        
    108        20         303 X          B          101 Bname      220 20 X1        
    108        20         303 Y          C          102 Bname      220 20 Y2        
    108        20         303 X          A          100 Cname      330 30 X1        
    108        20         303 X          B          101 Cname      330 30 X1        
    108        20         303 Y          C          102 Cname      330 30 Y2        
    108        20         303 X          A          100 Aname      110 1 X1        
    108        20         303 X          B          101 Aname      110 1 X1        
    108        20         303 Y          C          102 Aname      110 1 Y2        
    108        20         303 X          A          100 Bname      220 1 X1        
    108        20         303 X          B          101 Bname      220 1 X1        
    108        20         303 Y          C          102 Bname      220 1 Y2        
    108        20         303 X          A          100 Aname      110 2 X1        
    108        20         303 X          B          101 Aname      110 2 X1        
    108        20         303 Y          C          102 Aname      110 2 Y2        
    108        20         303 X          A          100 Bname      220 2 X1        
    108        20         303 X          B          101 Bname      220 2 X1        
    108        20         303 Y          C          102 Bname      220 2 Y2        
    108        20         303 X          A          100 Cname      330 2 X1        
    108        20         303 X          B          101 Cname      330 2 X1        
    108        20         303 Y          C          102 Cname      330 2 Y2        
      

  3.   

    【根据 问卷编号 108 查询=问卷表= 得到 模板号20 】
    【根据 模板号20 查询=问卷模板内容表= 得到 所属信息如1 】这里得到小类,下面根据小类查询
    【根据 所属小类A、B、C 查询=小类表= 得到 所属信息如2 】
    【根据 所属小类A、B、C和问卷号 查询=问卷得分表= 得到 所属信息如3 】
    【根据 所属大类号X、Y 查询=大类表= 得到 所属信息如4 】  最后根本大类查询。
      

  4.   

    仔细看了下,讲的还算明白,根据2楼的,修改下,
    1:问卷表Total和问卷模板内容表contentpoint表间关系1:N,左关联
    2:小类表bm_evaluationcontent 和问卷模板内容表contentpoint表间关系1:1,外键关系为(大类号,小类号 )
    3:小类表bm_evaluationcontent和大类表bm_evaluation 得到大类名称 组成成表BMSELECT T.問卷編號,T.模板號,T.總分,bm.大类号,bm.小类号,bm.小类名称 ,bm.原分,bm.大类名称
    FROM TOTAL T,CONTENTPOINT C ,
          (select a.大类号,a.小类号,a.小类名称 ,a.原分,b.大类名称 
            from  bm_evaluationcontent a,bm_evaluation b 
           where a.大类号=b.大类号) bm ,                 --3
    situation st,bm_evaluation ev
       WHERE t.問卷編號='108'   and T.模板號=C.模板號(+)  --1  
          and c.大类号=bm.大类号 and c.小类号=bm.小类号      --24:问卷得分表situation 根据上面结果,外层再去查得分即可