由简到难生成数据库报表(一)

本文通过一个简化的进销存系统实例,逐步讲解如何生成数据库报表。涉及人员表、商品表、销售单主表和明细、采购单主表和明细等表之间的关系。内容包括显示制单人详细信息、展示销售单详情以及计算收益的报表生成方法。
摘要由CSDN通过智能技术生成

                在接下来,我想借助一个例子,来加深大家对数据库报表的认识,由简到难生成数据库报表!

这里创建一个简化的进销系统,系统中只有销售单和采购单,不存在红冲单据及其库存、退货等单据。由于销售单和采购单存在主从结构,所以将这两张表中的主从数据分别保存在不同的表中。下面是这个系统中表之间的关系图:


表 T_Person 为人员表,FId字段为主键,FNumber 字段为人员工号,FName 字段为人

员姓名,FManagerId字段为上级主管主键(指向T_Person表的 FId字段的外键) 。


表T_Merchandise为商品表,FId字段为主键,FNumber字段为产品编号,FName字段

为商品名,FPrice为商品价格;

表T_SaleBill为销售单主表,FNumber字段为销售单编号,

FBillMakerId字段为开单人主键(指向T_Person表的 FId字段的外键) ,FMakeDate 字段为

制单日期,FConfirmDate字段为确认日期;


表T_SaleBillDetail为销售单明细记录,FId字段

为主键,FBillId字段为主表主键(指向 T_SaleBill 表的 FId 字段的外键) ,FMerchandiseI

字段为商品主键(指向T_Merchandise表的FId字段的外键) ,FCount字段为销售数量。


表T_PurchaseBill为采购单主表,FNumber字段为采购单编号,FBillMakerId字段为开

单人主键(指向T_Person表的FId字段的外键), FMakeDate字段为制单日期, FConfirmDat

字段为确认日期;


表T_PurchaseBillDetail为采购单明细记录,FId字段为主键,FBillId字段

为主表主键(指向T_PurchaseBill表的FId字段的外键) , FMerchandiseId字段为商品主键(指

向T_Merchandise表的FId字段的外键),FCount字段为采购数量。

 下面是创建表的SQL语句以及插入数据的SQL语句:

--创建T_Person表
create table T_Person
(
	FId varchar(20) not null,
	FNumber varchar(20),
	FName varchar(20),
	FManagerId varchar(20),
	primary key(FId),
	foreign key(FManagerId) references T_Person(Fid)
)
--创建T_Merchandise表
create table T_Merchandise
(
	FId varchar(20) not null,
	FNumber varchar(20),
	FName varchar(20),
	FPrice int,
	primary key(fid)
)
--创建T_SaleBill表
create table T_SaleBill
(
	FId varchar(20) not null,
	FNumber varchar(20),
	FBillMakerId varchar(20),
	FMakeDate datetime,
	FConfirmDate datetime,
	primary key(fid),
	foreign key(Fbil
  • 26
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 40
    评论
评论 40
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值