user 表 ,其中字段有 id ,reportunit(单位),.....,diagnosis
deptinfo 表,其中字段有 entityid,name,upperid(父id,就是entityid所填的值),cantonid(省)  其中 ,cantonid是省,是个枚举值,diagnosis是一个枚举值,diagnosis.1,diagnosis.2,diagnosis.3,diagnosis.4
显示结果:
  城市      总计 diagnosis.1 diagnosis.2 diagnosis.3 diagnosis.4
  河北省     1   1               0         0            0
    保定市   1    0              1         0            0
   。
  河南省     2    0              2          0           0 
     郑州市  2    1              1          1           0  
   ..................
  

解决方案 »

  1.   

    论坛上很多行列转换的了,自己看一下,动动手。
    如果想要得到较明确的答案,
    请给出建表、插入数据的SQL脚本,及根据该数据生成结果格式。
      

  2.   

    create table usertemp (
        
        aid int not null,
        reportunit varchar2(20),
        diagnosis  varchar(20)
    )
    create table deptinfo(
        entityid varchar2(20),
        aname   varchar2(20),
        upperid  varchar2(20),
        cantonid varchar2(20)
    )insert into usertemp values(1,'01','diagnosis.1');
    insert into usertemp values(2,'0101','diagnosis.2');
    insert into usertemp values(3,'02','diagnosis.3');
    insert into usertemp values(4,'0201','diagnosis.4'); insert into deptinfo values ('0101','保定市','01','cantonid.1');
    insert into deptinfo values ('0201','郑州市','02','cantonid.2');
    insert into deptinfo values ('0102','保定市','01','cantonid.1');
    要的结果是:
    城市 总计 diagnosis.1 diagnosis.2 diagnosis.3 diagnosis.4
      cantoid.1 1 1 0 0 0
      保定市 1 0 1 0 0
      。
      cantoid.2 2 0 2 0 0 
      郑州市 2 1 1 1 0  
      ..................
      

  3.   

    没看懂usertemp和deptinfo表之间的关系及结果是如何计算出来的。