如题:我有2个表A,B.表A记录的是每天的信息,表B记录的统计的信息,具体结构类似下表:
表A:
M_ID(主键) ID(主键,自增) name a数量 b数量 c数量
表B:
M_ID(主键) ID(主键,自增) name a数量 b数量 c数量 ...其他字段例如:A表中有数据
XXX_0806 1 书本 1 2 3
XXX_0806 2 书本 4 5 6
XXX_0807 3 书本 7 8 9
XXX_0807 4 书本 10 11 12那么表B中要统计XXX_0806,XXX_0807的信息时,得到的数据如下:
XXX_0806_07 1 书本 (1+7) (2+8) (3+9) ....
XXX_0806_07 1 书本 (4+10) (5+11) (6+12) ....具体的表中会有很多条记录,但是模板是一样的,只要这个的sql语句写出来了,其他的就可以类推了。小弟刚学编程,不太懂,希望大侠们帮忙看看。先谢谢了。
表A:
M_ID(主键) ID(主键,自增) name a数量 b数量 c数量
表B:
M_ID(主键) ID(主键,自增) name a数量 b数量 c数量 ...其他字段例如:A表中有数据
XXX_0806 1 书本 1 2 3
XXX_0806 2 书本 4 5 6
XXX_0807 3 书本 7 8 9
XXX_0807 4 书本 10 11 12那么表B中要统计XXX_0806,XXX_0807的信息时,得到的数据如下:
XXX_0806_07 1 书本 (1+7) (2+8) (3+9) ....
XXX_0806_07 1 书本 (4+10) (5+11) (6+12) ....具体的表中会有很多条记录,但是模板是一样的,只要这个的sql语句写出来了,其他的就可以类推了。小弟刚学编程,不太懂,希望大侠们帮忙看看。先谢谢了。
例如:A表中有数据
XXX_0806 1 书本 1 2 3
XXX_0806 2 电脑 4 5 6
XXX_0807 3 书本 7 8 9
XXX_0807 4 电脑 10 11 12 那么表B中要统计XXX_0806,XXX_0807的信息时,得到的数据如下:
XXX_0806_07 1 书本 (1+7) (2+8) (3+9) ....
XXX_0806_07 2 电脑 (4+10) (5+11) (6+12) .... 实际上就是要对A表数据进行统计,然后放到B表中,不知道sql语句能不能实现?
select M_ID,min(id),sum(a数量),sum(b数量),sum(c数量) from B group by M_ID
XXX_0806_07 1 书本 (4+10) (5+11) (6+12) .... ??
没有看懂
name字段有书本、电脑等
insert into 表B (你的字段) Values(select max(M_ID),min(id),Name,sum(a数量),sum(b数量),sum(c数量) from A group by Name)
为什么是1、3相加,而不是1、2或1、4?
你的数据库中没有办法区分是哪两个行相加,这种设计违反了关系数据库的基本原则,即所有实体都是可区分的。
因为 1,3都是书本,2,4都是电脑。XXX_0806 1 书本 1 2 3
XXX_0806 2 书本 4 5 6
XXX_0807 3 书本 7 8 9
XXX_0807 4 书本 10 11 12
这里都是书本,没有电脑啊