- 浏览: 2010871 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (1409)
- asp/asp.net学习 (241)
- oracle (10)
- delphi (295)
- java (27)
- pb (1)
- 每日点滴 (49)
- 学习方法 (40)
- 思想方面 (104)
- C语言 (5)
- C++ (1)
- 代码重构经验 (5)
- 软件工程 (3)
- 数据库 (99)
- 英语学习 (3)
- mysql (1)
- 该关注的网站或者网页 (42)
- 总结 (7)
- 要去做的事情 (33)
- 算法 (1)
- 网络方面 (29)
- 随感 (96)
- 操作系统 (36)
- UML (12)
- 常用工具的使用 (55)
- 脚本 (7)
- 汇编 (62)
- 数据结构 (2)
- 财务 (38)
- 语文作文 (16)
- 法律 (1)
- 股票 (88)
最新评论
-
devwang_com:
可以,学习了~~
列出文件夹下所有文件夹的树形结构--Dos命令 tree的使用 -
hvang1988:
不管用啊 frxrprt1.PreviewForm.Pare ...
fastReport预览时嵌入到别的窗体 -
00915132:
我也有这个疑问,非常 感 谢
left join加上where条件的困惑 --SQL优化 -
zhuyoulong:
学习了,高效读书
软件架构师要读的书 -
nTalgar:
非常感谢分享!
Application.ProcessMessages用法:
转自:http://hi.baidu.com/lymengxiang/blog/item/790854439d0025139213c641.html
自己写的:
select CustName,yy,mm,GetMoneyType,sum(yingshou) as yingshou,sum(yishou) as yishou, sum(yingshou)-sum(yishou) as weishou from
(
select CustName, year(postdate) yy, month(PostDate) mm,
sum(amountRMB) as yingshou ,0 as yishou, '' as GetMoneyType from bill_tab group by CustName,month(PostDate),year(Postdate)
union
select CustName, year(getdate) yy, month(getdate) mm, 0 as yingshou,
sum(amount) as yishou ,GetMoneyType
from GetMoney group by CustName, GetMoneyType, month(getdate),year(getdate)
) MoneyAmount group by CustName,GetMoneyType,mm,yy having getMoneyType is null
得到按客户名称,年,月,进行计算应收款,已收款,未收款,收款类型
数据表Order.dbo结构:
OrderNo varchar(10), ---单号
GetDate Varchar(10), ---日期
Sales Varchar(10), ---业务员
ItemNo Varchar(20), ---产品号
Amount Smallint ---金额
数据记录如下:
001 2004-01-01 ABC A001 1000
001 2004-01-15 QQQ A001 5000
002 2004-02-01 ABC A001 2000
003 2004-03-01 ABC A001 3000
004 2004-06-01 ABC A001 6000
......
要求输入欲查询的年度条件如:2004,得到按月份统计数量的如下结果:
Slaes 200401 200402 200403 200404 200405 200406 200407 200408 200409 200410 200411
----- ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------
ABC 1000 2000 3000 6000
QQQ 5000
第一种答案:
declare @sql varchar(8000)
set @sql = 'select Sales'
select @sql = @sql + ',sum(case left(GetDate,7) when '''+left(GetDate,7)+''' then Amount end) ['+ replace(left(GetDate,7),'-','')+']'
from (select distinct left(GetDate,7) as GetDate from test) as a
select @sql = @sql+' from test group by Sales'
print @sql
exec(@sql)
第二种答案:
SQL语句:
select
sales as '业务员',
sum(case when month(getdatetime)=1 then amount end) as '1月份总额',
sum(case when month(getdatetime)=2 then amount end) as '2月份总额',
sum(case when month(getdatetime)=3 then amount end) as '3月份总额',
sum(case when month(getdatetime)=4 then amount end) as '4月份总额',
sum(case when month(getdatetime)=5 then amount end) as '5月份总额',
sum(case when month(getdatetime)=6 then amount end) as '6月份总额',
sum(case when month(getdatetime)=7 then amount end) as '7月份总额',
sum(case when month(getdatetime)=8 then amount end) as '8月份总额',
sum(case when month(getdatetime)=9 then amount end) as '9月份总额',
sum(case when month(getdatetime)=10 then amount end) as '10月份总额',
sum(case when month(getdatetime)=11 then amount end) as '11月份总额',
sum(case when month(getdatetime)=12 then amount end) as '12月份总额'
from you_table group by sales
--********************************************************************************
--存储过程
create procedure sp_ordertable
@Year int
as
select
sales as '业务员',
sum(case when month(getdatetime)=1 then amount end) as '1月份总额',
sum(case when month(getdatetime)=2 then amount end) as '2月份总额',
sum(case when month(getdatetime)=3 then amount end) as '3月份总额',
sum(case when month(getdatetime)=4 then amount end) as '4月份总额',
sum(case when month(getdatetime)=5 then amount end) as '5月份总额',
sum(case when month(getdatetime)=6 then amount end) as '6月份总额',
sum(case when month(getdatetime)=7 then amount end) as '7月份总额',
sum(case when month(getdatetime)=8 then amount end) as '8月份总额',
sum(case when month(getdatetime)=9 then amount end) as '9月份总额',
sum(case when month(getdatetime)=10 then amount end) as '10月份总额',
sum(case when month(getdatetime)=11 then amount end) as '11月份总额',
sum(case when month(getdatetime)=12 then amount end) as '12月份总额'
from lpy_ordertable where year(getdatetime)=@year group by sales
exec sp_ordertable 2004
业务员 1月份总额 2月份总额 3月份总额 4月份总额 5月份总额 6月份总额 7月份总额 8月份总额 9月份总额 10月份总额 11月份总额 12月份总额
---------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- -----------
abc 1000 2000 3000 NULL NULL 6000 NULL NULL NULL NULL NULL NULL
qqq 5000 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
(所影响的行数为 2 行)
发表评论
-
sql 保留两位小数
2011-09-30 15:25 111841. ROUND(该函数,只是负责四舍五入到两位小数, ... -
Sql获取星期几的方法
2011-09-26 11:14 15321. select Datepart(weekday, ... -
SQL DATEDIFF语法及时间函数
2011-08-11 19:29 1440摘自:http://apps.hi.baidu.com/sha ... -
比较两个数据库的不同 包括表结构 视图 存储过程等
2011-07-22 18:02 986比较两个数据库的不同 包括表结构 视图 存储过程等 h ... -
SQL Server 2005调试触发器
2011-07-10 18:35 1314摘自:http://blog.csdn.net/zwk_9/a ... -
如何查找所有包含了某个文本的存储过程
2011-06-09 11:16 788select name from sysobjects o, ... -
使用pivot将行转成列
2011-05-17 16:46 1065摘自:http://blog.csdn.net/happy66 ... -
如何监控SQL Server (2005/2008) 的运行状况
2011-04-15 14:01 1135如何监控SQL Server (2005/2008) 的运行状 ... -
SQL中的各种JOIN(inner join,full outer join,left join,right join,cross join )
2011-04-14 13:43 978SQL中的各种JOIN(inner join,full ... -
TSQL中 Count() 函数使用的一点小技巧
2011-04-09 10:32 1871TSQL中 Count() 函数使用的一点小技巧 ... -
MsSql2005数据库熟悉
2011-04-01 17:32 15632011-4-11. 终于把那个模 ... -
知道了远程服务器的IP,以及端口号 如何连接
2011-04-01 12:33 1584问题描述:知道了远程服务器的IP,以及端口号 如何连接 ... -
varchar(max) 定义最大化 MsSql2005
2011-03-31 10:54 1132在存储过程里: declare @CreateScript ... -
在存储过程里使用N前缀 Mssql
2011-03-31 10:16 19982011-3-31 摘自:Mssql 2005的帮助页 ... -
经典的三表练习 sql
2011-03-25 14:05 1165create table s --学生表( sid in ... -
sql 这样写,有什么好处?函数列在字段里
2011-03-24 18:34 1198表格:aat 两个字段:a,b select dbo.get ... -
批量导出sql server 的视图、表、存储过程脚本
2011-03-18 17:39 3118批量导出sql server 的视图、表、存储过程脚本 ... -
asp.net连接Access SQL SERVER Oracle
2011-03-11 16:14 1136摘自:http://blog.csdn.net/m ... -
left join加上where条件的困惑 --SQL优化
2011-03-10 15:29 36894left join加上where条件的困惑 摘自:http: ... -
sql server行级锁,排它锁,共享锁的使用
2011-03-08 08:36 1422sql server行级锁,排它锁 ...
相关推荐
禅道上的统计报表非常匮乏,专业版的水晶报表又不划算,自己动手弄了套工时统计的方案 还挺好用的 希望对大家有所帮助 附件就是统计个人名下所有需求,任务和bug的sql语句,以及Excel统计模板 操作步骤: 建议使用...
使用sql语句将查询的数据中的值按时间递增累加
支持用友U8_12.5及以上 根据期初库存与出入库单据统计某日库存量 可实现通过批号或序列号统计,汇总
sql 语句 按照某年某月某周查询每位学生或员工的作业提交次数或打卡记录数据统计。 对考勤次数,提交信息考核统计很重要。
泛微系统中常见的主要基于SQL server相关的SQL语句大全, 其中包括组织架构相关SQL,流程相关SQL以及其他自定义需求; 效率排名,等SQL总数将近百;
主要为大家按日,星期,月,季度,年统计销售额的sql语句,需要的朋友可以参考下
经典面试题目:有一个学生记录的表student,形式如下: name class sex 1 a 1(男) 2 b 2(女) 3 c 1 4 a 1 5 a 2 6 a 1 …… 现要统计每个班级的男女人数,结果如下: ...
sql统计类代码 select type,count(*) as 总数量, sum(case when level='一级' then 1 else 0 end) as 一级, sum(case when level='二级' then 1 else 0 end) as 二级, sum(case when level='三级' then 1 else 0 end...
中国各省份及城市sql server 的sql语句 中国各省份及城市sql server 的sql语句 中国各省份及城市sql server 的sql语句
动态SQL语句.txt 动态语句.txt 区分大小写.txt 去掉重复的列名.txt 取n到m条记录.txt 合并字符串.txt 多列的行转列.sql 多行补充.sql 多表对多表进行统计.txt 大小写转换.txt 子查寻和内联查寻.txt 学生名次.txt ...
SQL语句技巧:按月统计数据
常见sql的用法
全国人口 地方统计 oracle数据库的sql语句
1.库存盘点收发存汇总表业务逻辑。 2.使用mssql数据库语句实现。 3.实时查询可以得出查询时间段的材料编码对应的期初、入库数、出库数、期末库存。 4.一条sql语句即可实现。
基于SQL语句的医院临时性数据统计.pdf
常用SQL查询语句,常用SQL查询语句,希望有帮助
15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.) select a,b,c from tablename ta where a=(select max(a) from ...
SQL中的while语句 14 Case-End多分支语句 14 子查询 15 视图(虚拟表)和索引 16 视图 16 索引 16 事务管理 17 数据库的安全性 18 建立权限 19 存储过程(procedure) 20 无参数存储过程 20 带参数 20 带...
此文件包含长期以来对查询统计的全面总结:包含多表的复杂查询条件,级索引创建,触发器的使用,存储过程的编写,复杂sql的优化。是查询效率提高到小于0.1s
统计用户在线时长 的sql语句,带表结构