;with t1 as(
select 
       (select cLvName from dbo.tCO_ItemLevel where LEFT('0907',4)=cLvID)中类名,
       COUNT(distinct 商品编码)中类SKU数,
       round(SUM(销售金额),2) 中类销售金额,
       round((sum(销售金额)-sum(销售成本)),2) 中类毛利,
       case SUM(销售金额) when 0 then 0 else round((sum(销售金额)-sum(销售成本))/SUM(销售金额),4) end 中类毛利率 
from dbo.vAC_ItemDay_ZW1 a
where  日期 between '2012-05-21' and '2012-05-21' and 类别码 like '0907'+'%' and  销售金额<>0
), t2 as(
select 
       COUNT(distinct 商品编码)大类SKU数,
       round(SUM(销售金额),2) 大类销售金额,
       round((sum(销售金额)-sum(销售成本)),2) 大类毛利,
       case SUM(销售金额) when 0 then 0 else round((sum(销售金额)-sum(销售成本))/SUM(销售金额),4) end 大类毛利率 
from dbo.vAC_ItemDay_ZW1 a
where  日期 between '2012-05-21' and '2012-05-21' and 类别码 like '09'+'%' and  销售金额<>0
)select 中类名,
       中类SKU数,
       大类SKU数,
       中类SKU数/大类SKU数 ,
case 大类销售金额 when 0 then 0 else round((中类销售金额/大类销售金额),4) end 中类销售比大类,
case 中类SKU数 when 0 then 0 else round((中类销售金额/中类SKU数),4) end 单品销售郊率,
中类毛利率,
case 大类毛利率 when 0 then 0 else round((中类毛利率/大类毛利率),4) end 中类毛利率比大类,
case 中类SKU数 when 0 then 0 else round((中类毛利/中类SKU数),4) end  单品毛利效率              
from t1  ,t2
这个是我写的代码,不报错,除了    中类SKU数/大类SKU数 这个字段的值是0 但实际上 中类SKU数 = 81       大类SKU数=501 求高人指点