我是SQL的新手,在Lazarus和pascal语言中创建了一个数据库。我目前正在使用SQLlite3。到目前为止,我已经创建了一个拥有业务的当前资产和负债(整数)的数据库,但是我需要创建一个算法来划分这两个数字并将这两个数字的“比率”除以新表格,任何帮助,将不胜感激。
非常感谢。答案 0 :(得分:0)
下面的Sql创建了两个Sqlite表
列有公司ID,资产和负债的公司
CompanyAL,列号为CompanyID和Ratio(Liabilites为Assets)
然后用几行填充Companies表,然后使用
insert into ... select ...
将资产/负债的比率插入公司数据表。
重要提示:在Sqlite中,"划分"符号/
默认给出整数结果,因此会给出比值0和2.为了克服这个问题,你需要使用一个表达式,它将结果乘以1.0;我已经在分子和面额中用表达式来计算比率列中的值。
CREATE TABLE "main"."Companies" ("CompanyID" INTEGER PRIMARY KEY NOT NULL check(typeof("CompanyID") = 'integer') , "Assets" INTEGER check(typeof("Assets") = 'integer') , "Liabilities" INTEGER check(typeof("Liabilities") = 'integer') );
CREATE TABLE "main"."CompanyAL" ("CompanyID" INTEGER PRIMARY KEY NOT NULL check(typeof("CompanyID") = 'integer') , "Ratio" FLOAT);
insert into Companies(CompanyID, Assets, Liabilities) values(1, 100, 50);
insert into Companies(CompanyID, Assets, Liabilities) values(2, 50, 100);
insert into CompanyAL select CompanyID, (Liabilities * 1.0 / Assets * 1.0) from Companies
使用适用于Firefox的Sqlite Manager
加载项对Sqlite进行了测试。显然,在你的Lazarus应用程序中,你将在代码中构造必要的Sql并使用合适的数据库组件来对数据库执行它。