mysql 收支统计问题

mysql 收支统计问题,第1张

只能你这样查询,然后在程序中处理结果。因为MYSQL语句的结果必须是固定的列数,无法支持可以变化的列数量的。

如果只需要统计项目1、项目2、项目3等有限确定的项目,这个可以用SQL查询,方法是:

SUM(CASE name_id WHEN 1 THEN money ELSE 0) money1

但是你要实现统计表中不确定的项目数量,这个方法是不可能的,也没有其它可能的方法。

创建表,数据

create table a

(id int,

项目号 varchar(2),

总金额 int,

上家单位 varchar(4))

insert into a values (1,'01',100,'AAAA')

insert into a values (2,'02',200,'BBBB')

insert into a values (3,'03',250,'CCCC')

create table b

(id int,

项目号 varchar(2),

到款 int,

到款时间 date)

insert into b values (1,'03',50,'2018-07-23')

insert into b values (2,'03',100,'2018-07-24')

insert into b values (3,'01',80,'2018-07-25')

执行:

SELECT

a.项目号,

a.总金额,

sum(

CASE

WHEN a.项目号 = b.项目号 THEN

到款

ELSE

0

END

) 到款总额

FROM

a

LEFT JOIN b ON a.项目号 = b.项目号

GROUP BY

a.项目号,

a.总金额

结果:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8622359.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存