2017-01-19 48 views
0

我是SQL新手,並且在Lazarus和pascal語言中創建了一個數據庫。我目前使用SQLlite3。到目前爲止,我已經創建了一個數據庫,該數據庫擁有一個企業的當前資產和負債(整數),但是我需要創建一個算法,將這兩個數字相除,然後將這兩個數字的「比率」部分輸入到一個新表格中,任何幫助,將不勝感激。SQLlite算法劃分兩個表列並將數字輸出到一個新表

非常感謝。下面

回答

0

在SQL創建兩個sqlite的表

公司與(以資產Liabilites的)列CompanyID,資產和負債

CompanyAL與列CompanyID和比率

它,然後填充公司桌子上有幾排,然後用

insert into ... select ... 

將資產/負債的比率插入CompanyAL表。

重要提示:在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 

測試使用SQLite的該Sqlite Manager插件的Firefox。顯然,在你的Lazarus應用程序中,你將在代碼中構建必要的Sql,並使用合適的數據庫組件來對數據庫執行它。

相關問題