润乾报表V5进阶之(多层交叉分组分片)

1.数据集

ds1:

SELECT * FROM 订单,订单明细,客户 WHERE year( 订单.订购日期 )>2014
AND
订单.货主地区 in (‘华南’,’华北’)
AND
订单.订单ID = 订单明细.订单ID
AND
客户.客户ID = 订单.客户ID

ds2:

SELECT 订单.订单ID,订单.雇员ID,订单.订购日期,订单.订单金额,订单明细.订单ID,订单明细.数量,订单明细.单价,雇员.雇员ID,雇员.名字,雇员.职务,雇员.上级 FROM 订单,订单明细,雇员 WHERE 雇员.雇员ID = 订单.雇员ID
AND
订单明细.订单ID = 订单.订单ID ORDER BY 订单.订购日期 ASC

2.维度

纵向

=ds1.group(year(订购日期);year(订购日期):1)+”年”      =ds1.group(month(订购日期);month(订购日期):1)+”月”

=ds2.group(职务;职务:1)          =ds2.group(雇员ID;雇员ID:1)

横向

=ds1.group(地区;地区:1)

=ds1.group(城市;城市:1)

交叉

=ds1.sum(单价*数量)

=ds1.sum(单价*数量,雇员ID==C4)

润乾报表V5进阶之(多层交叉分组)

1.数据集

SELECT * FROM 订单,订单明细,客户 WHERE year( 订单.订购日期 )>2014
AND
订单.货主地区 in (‘华南’,’华北’)
AND
订单.订单ID = 订单明细.订单ID
AND
客户.客户ID = 订单.客户ID

2.维度

纵向

=ds1.group(year(订购日期);year(订购日期):1)+”年”

=ds1.group(month(订购日期);month(订购日期):1)+”月”

横向

=ds1.group(地区;地区:1)

=ds1.group(城市;城市:1)

交叉

=ds1.sum(单价*数量)

 

 

润乾报表入门(三)交叉分组报表

1.交叉表头 英文逗号隔开 边框设置为斜线

2.添加数据集

3.添加分组

表头: 地区,订购日期,金额

横行:=ds1.group(year(订购日期);订购日期:1)

纵行:=ds1.group(货主地区;货主地区:1)

中间:=ds1.sum(订单金额)

 

这是三种基本报表,其他报表都是演变而来

 

润乾报表入门(一)

1.下载http://www.raqsoft.com.cn/download/download-jsbb

2.连接数据库

3.网格报表练习

(1)选择订单表

(2)按ID排序

select(订单ID:1)

(3)金额格式

(4)时间格式

(5)隔行换色

背景色

if(row()%2==0,blue,white)

(6)数值预警

前景色

if(ds1.运货费>100,red)

 

2018一次笔试

1.下面数据库test(num(int))不用统计函数求最小?

SELECT num FROM test ORDER BY num ASC LIMIT 1

2. 两个表结构如下

create TABLE stu (no VARCHAR(12) PRIMARY KEY,
gread VARCHAR(5),
sname VARCHAR(20)
)
CREATE TABLE score(
no VARCHAR(10),
s_Chi int(10),
s_Mathes int(10)
)
1.求最高成绩的人。

SELECT score.s_Chi+score.s_Mathes as totalScore FROM score ORDER BY totalScore DESC LIMIT 1

2.求最高成绩的人的名字。

SELECT sname score.s_Chi+score.s_Mathes as totalScore FROM score stu ORDER BY totalScore DESC LIMIT 1

3.求不重复的人数

SELECT COUNT(DISTINCT sname) as cout FROM stu

3.存储过程  在特定不空就复制