热门关键字:  ubuntu  分区  linux系统进程  函数  Fedora

sybase 下生成交叉报表的方法

来源: 作者: 时间:2007-09-13 Tag: 点击:
有时候在开发产品时,要为用户提供输出比较多的报表,当用户处软件配置、初始化数据设置不一致时,报表的格式可能就不一样,这样,竖表变横表(既交叉报表)就能够发挥强大的作用


--假设有一个表 归类项目表,有20个项目科目, 
create table ITEMS 
(id int not null , 
name char(20) not null 


insert into ITEMS values (1,'项目1') 
insert into ITEMS values (2,'项目2') 
insert into ITEMS values (3,'项目3') 
insert into ITEMS values (4,'项目4') 
insert into ITEMS values (5,'项目5') 
insert into ITEMS values (6,'项目6') 
insert into ITEMS values (7,'项目7') 
insert into ITEMS values (8,'项目8') 
insert into ITEMS values (9,'项目9') 
insert into ITEMS values (10,'项目10') 


---还有一个表 明细项目 
drop table ITEMDETAIL 
create table ITEMDETAIL 
( id int identity not null , 
name char(10) not null , 
price numeric(10,2) not null default 0 , 
item_id int not null 


insert into ITEMDETAIL (name,price,item_id) values ('明细项目1',10,1) 
insert into ITEMDETAIL (name,price,item_id) values ('明细项目2',10,2) 
insert into ITEMDETAIL (name,price,item_id) values ('明细项目3',10,3) 
--insert into ITEMDETAIL (name,price,item_id) values ('明细项目4',10,4) 
insert into ITEMDETAIL (name,price,item_id) values ('明细项目5',10,5) 
insert into ITEMDETAIL (name,price,item_id) values ('明细项目6',10,6) 
insert into ITEMDETAIL (name,price,item_id) values ('明细项目7',10,7) 
insert into ITEMDETAIL (name,price,item_id) values ('明细项目8',10,8) 
insert into ITEMDETAIL (name,price,item_id) values ('明细项目9',10,9) 
insert into ITEMDETAIL (name,price,item_id) values ('明细项目10',10,10) 



--第三个表:销售项目明细表 
drop table SALEDETAIL 
create table SALEDETAIL 
(orderno int identity not null ,--订单号 
orderdate char(8) not null,--日期 
invoiceno char(20) null,--发票号码 
itemdetail_id int not null, --明细项目编码 
item_id int not null, --归类大项目编码 
price numeric(10,2) not null , --价格 
num int not null, --数量 
dept_no char(6) not null, --部门 
amount numeric(10,2) not null 


--其他字段就不说了 
最新评论共有 4 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册