很复杂的查询,我尽量说的清楚一些,不清楚的再补充。
一个表wtqd是机构问题清单表,主要字段有
zhh,机构号共12个机构,
zhm  机构名称,与机构号对应
wtlx, 问题类型分为一般、严重、规范、建议,
jcjd, 检查季度,即在哪个季度检查发现的问题。每个问题一条记录。第二个表PZL是机构的凭证数量,主要字段有
zhh 机构号,同一表
pzl 凭证量
jzrq 截止季度,固定格式为2016二季度这样的,即某年一季度,某年二季度...这样,与PZL字段结合,即某年一季度多少凭证量,某年二季度多少凭证量。通过以上两表要实现的查询结果为下表:
zhh 机构号  
zhm 机构名称   
yz 严重问题数量  
yb 一般数量  
gf 规范数量  
jy 建议数量  
khwtzl 问题总量 
pzl 凭证量  
ndjd 年度季度,这个要根据查询页选择的不同实现查询,比如全部、2016年二季度、2016年全年,wtqd表中jcjd字段,pzl表中jzrq字段对应该查询条件。
wtl 问题率即问题总量/凭证量  
pm 12个机构的问题率排名,1、2、3、4、5、。……已经纠结了半个多月了一直没有解决,目前的想法是,建议以上的查询结果表,通过对wtqd  pzl两表的分步查询更新查询结果表。再查询结果表显示网页。求高手赐教。不胜感激。如有具体查询语句最好,如无语句,提供解决方法或思路,也不胜感谢

解决方案 »

  1.   

    select     zhh,  
                    zhm,   
                    yz,  
                    yb, 
                    gf,  
                   jy,  
                  khwtzl, 
                 pzl,  
                 ndjd,
                wtl 
    from (                //某些字段)tmp1
    left   join (              //某些字段)tmp2    on    ...
    left join (
                 
                  //某些字段)tmp2   on  ...
    根据需求,用中间表
      

  2.   

       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://bbs.csdn.net/topics/320211382
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
      

  3.   


    问题清单表(wtqd)
    字段 类型 字段说明
    wtid int(8) ID
    fhm varchar(12) 一级公司名
    zhh varchar(9) 二级公司号
    wdh int(9) 三级公司号
    wdm varchar(30) 三级公司名
    wtms varchar(636)问题描述
    wtdx varchar(12) 问题定性,分为严重、一般、规范、建议
    jcjd varchar(16) 检查季度,如2016年二季度,2015年一季度等凭证量表(pzl)
    字段 类型 字段说明
    zhh int(9) 二级公司号
    wdh int(9) 三级公司号
    jzrq varchar(8) 截止季度,如2016年二季度,2015年一季度等,与问题清单jcjd字段对应
    pzl int(11) 凭证量要得到这样的报表
    http://1rmb.net/33.png