#开支项目droptableifexistswl_spending_name;createtableifnotexistswl_spending_name(idint(10)unsignednotnullauto_incrementprimarykey,#IDnamevarchar(50)notnull,#名称typesmal...
#开支项目
drop table if exists wl_spending_name;
create table if not exists wl_spending_name(
id int(10) unsigned not null auto_increment primary key, #ID
name varchar(50) not null, #名称
type smallint(1) not null, #类别,收入还是开支,1收入,2开支
create_time datetime not null, #创建时间
state smallint(1) not null, #状态 1为正常 0为删除
operator varchar(50) not null #操作员
)engine myisam charset gbk;
#开支明细
drop table if exists wl_spending_detail;
create table if not exists wl_spending_detail(
id int(10) unsigned not null auto_increment primary key, #ID
name_id int(10) unsigned not null, #所属项目ID
name varchar(300) not null, #收支内容
money decimal(10,2) not null, #收支金额
type smallint(1) not null, #类别,1未结账 2已结账
state tinyint(1) not null, #状态 0删除 1正常
create_time datetime not null, #创建时间
modified_time datetime not null default '0000-00-00 00:00:00', #修改时间
operator varchar(50) not null #操作员
)engine myisam charset gbk;
表结构如上,我的问题是当天结账时计算出每个项目的开支。
效果如下
项目1 项目2 项目3 ……
计算出来的总金额 100.00 200.00 200.00 ……
现在我只有一种方案sql
select n.id,n.name,d.name,d.money,d.type from wl_spending_name as n left join wl_spending_detail as d on d.name_id=n.id limit 100
结果出来后然后在程序中计算。
有没有什么好的办法去解决呢。
展开