中国.NET技术交流社区   中国CS约战平台   CNNTEC-IDC虚拟空间   CS1.6比赛服务器出租 2008中国奥运特别活动      
1/1页1 跳转到查看:238
发新话题 回复该主题

求解一个比较复杂的sql语句,绑定gridview的,谢谢!

求解一个比较复杂的sql语句,绑定gridview的,谢谢!

table1表(目标)
区域 店面 目标 
A区 a店 10000
A区 b店 23000 
A区 c店 13000 
B区 d店 50000 
B区 e店 20000 
B区 f店 12000 
B区 d店 21000
table2表(销售明细表)
日期        店面    金额  类别    数量
2008-11-1  a店    1000  主机    1
2008-11-1  b店    3000  显示器  1
2008-11-1  b店    4000  主机    2
2008-11-1  c店    1000  主机    1
2008-11-2  a店    3000  显示器  2
2008-11-2  a店    3000  其他    2
........很多记录
我需要得到这样的结果:
1、计算出(完成/目标)的完成率百分比,也是就sum()这样的。
2、算出各个店面的主机个数,显示器个数
3、在区域内按照完成率来进行排行。

结果是:

区域    店面  目标  完成  显示器数量 主机  完成率
A区    c店 13000 14000    2          108%
A区    b店 23000 20000    1          87%
A区    a店 10000 3000      3          30%
B区    f店 12000 15000    3          125%
B区    d店 50000 30000    1          60%
B区    e店 20000 18000    3          90%
B区    d店 50000 30000    2          60%
B区    d店 21000 10000    5          48%
应该怎么写sql语句??绑定到gridview上的!

我写的sql语句是:select sum(完成) as 完成 from table1 as a,table2 as b where a.店面=b.店面 and b.类别 in (主机,显示器) group by 区域,店面
这样写的话,我怎么查出主机的个数??因为销售额一定要主机+显示器的。

TOP

 

剩下的字段自己写吧!不知道你要的是不是这种效果
select * into #A from (
select 'A区' 区域,'a店' 店面,10000 目标
union
select 'A区' 区域,'b店' 店面,23000 目标
union
select 'A区' 区域,'c店' 店面,13000 目标
union
select 'A区' 区域,'d店' 店面,50000 目标
union
select 'A区' 区域,'e店' 店面,12000 目标
union
select 'A区' 区域,'b店' 店面,21000 目标)a

select * into #B from
(
select '2008-11-1' 日期, 'a店' 店面,1000 金额, N'主机'类别,1 数量
union
select '2008-11-1' 日期, 'b店' 店面,3000 金额, N'显示器'类别,1 数量
union
select '2008-11-1' 日期, 'b店' 店面,4000 金额, N'显示器'类别,2 数量
union
select '2008-11-1' 日期, 'c店' 店面,1000 金额, N'显示器'类别,1 数量
union
select '2008-11-1' 日期, 'a店' 店面,3000 金额, N'显示器'类别,2 数量
union
select '2008-11-1' 日期, 'a店' 店面,3000 金额, N'显示器'类别,2 数量

)a

select * from #A
select * from #B

select A.区域,A.店面,A.目标,SUM(B.金额) 完成,C.显示器
from #a a join #B b on a.店面=B.店面
JOIN (
select 店面,sum(数量) 显示器 from #B  where 类别=N'显示器' group by 店面
) C ON C.店面=B.店面

group by A.区域,A.店面,A.目标,C.显示器
超越想像...无限可能!!
使用指南→点这里
软件下载→点这里
源码交流→点这里
项目组申请→点这里

TOP

 

沙沙是个高手。

TOP

 
1/1页1 跳转到
发表新主题 回复该主题