Tribon Vitesse开发教程(六)

上篇只是介绍了SqliteDB的用法,忽视了SQL命令,在介绍生成报表之前,还是先提一下。 以管支架材料表程序为例。

首先是创建一个表,如果没有指定文件,这个表在内存中生成。创建表的语法与普通的SQL命令没有什么差别,这里面可能唯一不同的是PySqlite有个text数据类型。在管支架材料表中,需要数量、单位和部件名三列,所以创建表的语法如下:

create table PipeSupportMaterial (quantity integer, unit text, compname text)

其次是要插入数据,使用insert into即可完成此操作,需要注意的是变量部分用?占位,变量由嵌套的List传入,List的结构不能出错,形如:values = [[1, 'pcs', 'ubolt-8'], [5, 'mm', 'L30X30'], [4, 'mm', 'L30X30']],插入命令如下:

insert into PipeSupportMaterial (quantity, unit, compName) values (?, ?, ?)

至此,我们生成了一个表,表的结构及数据如下:

PipeSupportMaterial表

quantity unit compname

         pcs  ubolt-8

         mm   L30X30

         mm   L30X30

根据材料表的要求,需要按照部件名称汇总,将相同部件材料按照型材累加长度,板材和零件累计个数。这时候Select语句就不是简单的列出表中的数据了。group by的意思是按照compname列的内容汇总,而sun()函数是将汇总后的数据求和,sum(quantity) quantity的意思是对汇总后的quantity列求和,并把结果赋给quantity列,SQL语句如下:

select sum(quantity) quantity, unit, compname 
from PipeSupportMaterial group by compname

查询语句的结果:

quantity unit compname

         pcs  ubolt-8

9          mm   L30X30

将这个结果写入到Excel表格中,材料表就形成了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值