当前位置:首页 » 编程语言 » sql做报表from
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql做报表from

发布时间: 2023-05-28 02:33:18

‘壹’ 我要做一张报表,sql数据库中取数据(ibatis),买衣服这些项目是前台动态选定,按人名分组查询使用金

前台拼出查询字符串
sql = "select 姓名";
if(买衣服)
sql += ",sum(买衣服)";
if(吃饭)
sql += ",sum(吃饭)";
sql += " from 表 group by 姓名";
然后执行这个sql即可

‘贰’ 用sql语句做报表,求求帮帮新手

比如离婚原因表a
有字段 人员(userID),离婚原因(reason)
则统计SQL如下:
select reason,count(*) as cnt from a group by userid;
是一个列表展示的
比如:
感情不合:35人
...
需要先统计出总人数,然后计算百分比

‘叁’ SQL 怎么建立报表

use pubs if exists (select * from sysobjects where name = 'BonusPenalty_info') drop table BonusPenalty_infocreate table BonusPenalty_info([id] nvarchar(20) primary key,[name] nvarchar(20) not null,BonusPenalty_Time nvarchar(50) not null,BonusPenalty_sort nvarchar(50) not null,BonusPenalty_content nvarchar(50) not null,Approve nvarchar(50) not null,RecallCause nvarchar(50) not null,BonusPenalty_Cause nvarchar(50) not null,Remark nvarchar(50) not null,Dept nvarchar(50) not null,)select * from BonusPenalty_info

‘肆’ 关于SQL查询报表,按月份显示出每月各个业务的办理量

select月份,业务名,sum(办理量)as总办理量from业务表A
groupby月份,业务名

‘伍’ 用sql语句做报表,怎么算折扣和工资

--mssqlserver:
selecta.日期,a.物料,a.工序,a.设备,a.班组,a.操作工,a.数量,a.单价,
(
casewhenb.物料种类数>1orb.物料种类数=1andc.设备种类数>1andd.工序种类数=1then0.8else1end
)as折扣,
a.数量*a.单价*(
casewhenb.物料种类数>1orb.物料种类数=1andd.工序种类数=1andc.设备种类数>1then0.8else1end
)as工资
from表名aleftjoin
(select日期,count(物料)as物料种类数,操作工from表名groupby日期,操作工)b
ona.日期=b.日期anda.操作工=b.操作工
leftjoin
(select日期,count(设备)as设备种类数,操作工from表名groupby日期,操作工)c
ona.日期=c.日期anda.操作工=c.操作工
leftjoin
(select日期,count(工序)as工序种类数,操作工from表名groupby日期,操作工)d
ona.日期=d.日期anda.操作工=d.操作工

‘陆’ 用sql 实现报表查询

select sales.a,sales.b - inbuy.b - cost1.b - cost2.b
from
(select date as a,sum(销售额) as b from 销售表 where date between 开始日期 and 结束日期 group by date ) as sales,
(select date as a,sum(进货额) as b from 进货表 where date between 开始日期 and 结束日期 group by date) as inbuy,
(select date as a,sum(支出额) as b from 企业支出费用表 where date between 开始日期 and 结束日期 group by date) as cost1,
(select date as a,sum(费用额) as b from 其他费用表 where date between 开始日期 and 结束日期 group by date) as cost2
where
sales.a = inbuy.a and
sales.a = cost1.a and
sales.a = cost2.a

‘柒’ sql语句中交叉报表的使用

DECLARE@sNVARCHAR(4000)
SELECT@s=ISNULL(@s+',','')+QUOTENAME(标志)
FROM表
---行列转换
DECLARE@SQLNVARCHAR(4000)
SELECT@SQL='
SELECT*
FROM表(带有转换标志)PIVOT(SUM(实际需要字段)
for[标志]in('+@s+')
)A'
EXEC(@SQL)

‘捌’ 怎么查询SQL数据库的历史数据,并调用出来做报表

  1. SQL关键字 where,类型转换Convert

  2. 历史数据,多久后的数据,假如有表A,有2个字段a,b

  3. a 为int 类型,b 为日期类型

  4. 转换日期以及日期范围SQL 如下:

  5. select * from A where b between convert(datetime,'2015-08-01 08:08:08' ) and convert(datetime,'2015-08-01 08:12:08')

  6. 以上SQL 就是查询历史记录,日期为'2015-08-01 08:08:08'与 '2015-08-01 08:12:08'

    之间的数据

  7. 创建报表可以通过MicrosoftSQLServer2008R2中的创建,也可以在Microsoftvisualstudio中通过使用ReportView控件来创建报表。本实例采用MicrosoftSQLServer2008R2中的创建报表。

  8. 创建报表服务器项目

  9. 在制作报表之前,要先创建一个报表服务器项目,在其中可以存放若干报表供用户调用。在中创建报表服务器项目的操作步骤如下。

  10. 选择【开始】|【所有程序】|【MicrosoftSQLServer2008R2】|【】,启动商业智能开发环境。在菜单栏中选择【文件】|【新建】|【项目】命令,弹出【新建项目】对话框。在【项目类型】列表中选择【商业智能项目】选项,在【模板】列表中选择【报表服务器项目向导】选项,在【名称】文本框中输入【报表项目4】,单击【确定】按钮以创建项目。

‘玖’ sql做报表的几个问题

1\
select case when grouping(班级)=1 then '年级总人数'
else 班级 end,
sum(人数) 人数
from 表
group by 班级 with rollup
order by 班级
2\
select 班级,
'到'+rtrim(cast(sum(case when 考勤=1 then 1 else 0 end) as char(10)))+'人辩郑帆羡' ,
'缺'+rtrim(cast(sum(case when 考勤=0 then 1 else 0 end) as char(10)))+'人' ,
from 表携轿颂
group by 班级

‘拾’ 请问下面左图是SQL中的数据,有几亿条,想在SQL里做成右面的报表,能做吗该怎么做呢谢谢了啊。

效率可能不高

select省,
sum(casewhen物品='铅笔'then数量else0end)as铅唯清笔,
sum(casewhen物品='水杯'then数量else0end)as水杯,
sum(casewhen物品='橡皮'then数量雀悄else0end)as橡皮,
sum(casewhen物品='椅子'then数量指岁前else0end)as椅子,
sum(casewhen物品='桌子'then数量else0end)as桌子,
sum(数量)as总计
from表名groupby省;