问题:
有两张表 A1(zdmc,zdz,sort) zdmc --字段名称 对应第二张表中的字段如xq,tq
                             zdz  --字段值   对应第二张表中的字段对应的值
                             sort -- 排序用的
          A2(id,xq,tq)     id -- id 无序的
                           xq -- 星期
                           tq -- 天气
         A1表中的数据('xq','星期一',1),('xq','星期二',2)...('xq','星期天',7),('tq','晴',1),('tq','雨',2),('tq','大风',3)
         A2中数据 :(1,'星期一','晴'),(2,'星期天','晴'),(3,'星期六','雨'),(4,'星期一','雨'),
  (5,'星期二','晴'),(6,'星期一','雨'),(7,'星期三','晴'),(8,'星期四','雨'),
  (9,'星期五','雨') 请问怎么得出下面的纪录
星期 天气 总数
星期一 晴 1   
星期一 雨 2   
星期一 大风 0
星期二 晴 1   
星期二 雨 0   
星期二 大风 0  
星期三 晴 1   
星期三 雨 0   
星期三 大风 0  
星期四 晴 0   
星期四 雨 1   
星期四 大风 0  
星期五 晴 0   
星期五 雨 1   
星期五 大风 0
星期六 晴 0   
星期六 雨 1
星期六 大风 0
星期天 晴 1   
星期天 雨 0   
星期天 大风 0
或者 -----------------
天气 星期 总数
晴 星期一 。。
晴 星期二 。。 
...
晴   星期日 。。雨 星期一 。。
雨 星期二 。。 
...
雨   星期日 。。大风 星期一 。。
大风 星期二 。。 
...
大风   星期日 。。

解决方案 »

  1.   

    select xingqi 星期, tianqi 天气, days 总数 from(
    select xingqi,tianqi,sort1,sort2, count(id) days from
      (select a1_1.zdz xingqi, a1_2.zdz tianqi, a1_1.sort sort1, a1_2.sort sort2
         from A1 a1_1, A1 a1_2 where a1_1.zdmc='xq' and a1_2.zdmc = 'tq') a1_join
      left join a2 on a1_join.xingqi=a2.xq and a1_join.tianqi=a2.tq
      group by xingqi,tianqi, sort1, sort2
    ) order by sort1, sort2;