SQLite 算法划分两个 table 列并将数字输出到一个新的 table
SQLlite Algorithm to divide two table columns and output the number into a new table
我是 SQL 的新手,并且在 Lazarus 和语言 pascal 中创建了一个数据库。我目前正在使用 SQLlite3。到目前为止,我已经创建了一个数据库,其中包含企业的当前资产和负债(整数),但是我需要创建一个算法来划分这两个数字并将这两个数字的 "ratio" 除法输入到一个新的table,如有任何帮助,我们将不胜感激。
非常感谢。
下面的 Sql 创建了两个 Sqlite tables
Companies with columns CompanyID, Assets and Liabilities
CompanyAL with columns CompanyID and Ratio (of Liabilites to Assets)
然后用几行填充公司 table,然后使用
insert into ... select ...
将 Assets/Liabilities 的比率插入 CompanyAL table。
重要提示:在 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
add-in 针对 Sqlite 进行了测试。显然,在您的 Lazarus 应用程序中,您将在代码中构建必要的 Sql 并使用 suitable db 组件对数据库执行它。
我是 SQL 的新手,并且在 Lazarus 和语言 pascal 中创建了一个数据库。我目前正在使用 SQLlite3。到目前为止,我已经创建了一个数据库,其中包含企业的当前资产和负债(整数),但是我需要创建一个算法来划分这两个数字并将这两个数字的 "ratio" 除法输入到一个新的table,如有任何帮助,我们将不胜感激。
非常感谢。
下面的 Sql 创建了两个 Sqlite tables
Companies with columns CompanyID, Assets and Liabilities
CompanyAL with columns CompanyID and Ratio (of Liabilites to Assets)
然后用几行填充公司 table,然后使用
insert into ... select ...
将 Assets/Liabilities 的比率插入 CompanyAL table。
重要提示:在 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
add-in 针对 Sqlite 进行了测试。显然,在您的 Lazarus 应用程序中,您将在代码中构建必要的 Sql 并使用 suitable db 组件对数据库执行它。