• 主页
  • 基础类
  • 应用实例
  • 新技术前沿

这样的单据格式如何设计表结构?

tinderman 2003-11-10 10:15:25
_______________________________________________________
| 项目|农产品 |经济作物 |经济林木|其 他 |
|_____|____________|___________|________|______________|
| |A |B |C |D |E |G |H |
| 地区|____|___|___| | | | |
| | |I |J| | | | | | |
|___V_|__|_|___|___|_____|_____|________|______________|
|_____|__|_|___|___|_____|_____|________|______________|
|_____|__|_|___|___|_____|_____|________|______________|

如图所示:项目分类不同,层次也不同,横向分为项目,纵向为地区。即分地区记录各项目的数量,打印报表也要打出这样的格式,如何设计表结构呢?
...全文
26 点赞 收藏 3
写回复
3 条回复
txlicenhe 2003年11月11日
SQL只是数据库,不可能象前台工具一样可以随心所欲地打印报表。
回复 点赞
pengdali 2003年11月10日
create table 项目类别表(编号 varchar(50),名称 varchar(50))
insert 项目类别表 values('001','农产品')
insert 项目类别表 values('001001','农产品A类')
insert 项目类别表 values('001002','农产品B类')
insert 项目类别表 values('001001001','农产品A类i小类')
insert 项目类别表 values('001001002','农产品A类j小类')

create table 你的表(地区 varchar(100),项目类编号 varchar(50),数量 int)
insert 你的表 values('地区1','001001001',50)
insert 你的表 values('地区1','001001002',100)
insert 你的表 values('地区1','001002',50)
go

--使用:
declare @sql varchar(8000)
set @sql = 'select 地区'
select @sql = @sql + ',sum(case 项目类编号 when '''+编号+''' then 数量 else 0 end) ['+名称+']'
from (select * from 项目类别表 where 编号 in (select 项目类编号 from 你的表)) as a
select @sql = @sql+' from 你的表 group by 地区'

exec(@sql)
go
回复 点赞
pengdali 2003年11月10日
create table 项目类别表(编号 varchar(50),名称 varchar(50))
insert 项目类别表 values('001','农产品')
insert 项目类别表 values('001001','农产品A类')
insert 项目类别表 values('001002','农产品B类')
insert 项目类别表 values('001001001','农产品A类i小类')
insert 项目类别表 values('001001002','农产品A类j小类')

create table 你的表(地区 varchar(100),项目类编号 varchar(50),数量 int)
insert 你的表 values('地区1','001001001',50)
insert 你的表 values('地区1','001001002',100)
insert 你的表 values('地区1','001002',50)
go

--使用:
declare @sql varchar(8000)
set @sql = 'select 地区'
select @sql = @sql + ',sum(case 项目类编号 when '''+编号+''' then 数量 else 0 end) ['+名称+']'
from (select * from 项目类别表 where 编号 in (select 项目类编号 from 你的表)) as a
select @sql = @sql+' from 你的表 group by 地区'

exec(@sql)
go
回复 点赞
发动态
发帖子
MS-SQL Server
创建于2007-09-28

1.4w+

社区成员

25.3w+

社区内容

MS-SQL Server相关内容讨论专区
社区公告
暂无公告