问题:
有两张表 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
或者 -----------------
天气 星期 总数
晴 星期一 。。
晴 星期二 。。
...
晴 星期日 。。
雨 星期一 。。
雨 星期二 。。
...
雨 星期日 。。
大风 星期一 。。
大风 星期二 。。
...
大风 星期日 。。
------解决方案--------------------
- SQL code
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;