请教一个SQL问题,谢谢!~
xieye 2005-02-21 11:31:17 三个表:tblArea,tblProvince,tblData
tblArea(地区表,如华北地区,东北地区等):
AreaID 地区代码
Areaname 地区名称
AreaLevel 地区级别(为0的是需要的)
tblProvince(省市自治区表,包含全国所有的省市自治区):
ProvID 省市代码
Province 省市名称
AreaID 所属地区代码
tblData:
DataDate 日期(精确到月份,是6位char类型的,如200501)
Amount 数量
ProvID 省市代码
先从tblArea中选出AreaLevel为0的(国内地区),再每个地区所有的省市的每个月的Amount总和;要求不管该地区该月有没有数据都显示(没有数据则为0),出来的结果应该是84条数据(一共有7个地区,每个地区有12个月的数据)。
我用了下面的sql语句,可总是不显示没数据的:
select d.DataDate DataDate,a.AreaID AID,sum(d.Amount) sumAmount
from tblData d right outer join (tblProvince p right outer join tblArea a on (p.AreaID=a.AreaID)) on d.ProvID=p.ProvID
where d.DataDate like '2005%' and a.AreaLevel='0'
group by a.AreaID,DataDate
请问应该如何解决这个问题?谢谢!~