我是SQL新手,並且在Lazarus和pascal語言中創建了一個數據庫。我目前使用SQLlite3。到目前爲止,我已經創建了一個數據庫,該數據庫擁有一個企業的當前資產和負債(整數),但是我需要創建一個算法,將這兩個數字相除,然後將這兩個數字的「比率」部分輸入到一個新表格中,任何幫助,將不勝感激。SQLlite算法劃分兩個表列並將數字輸出到一個新表
非常感謝。下面
我是SQL新手,並且在Lazarus和pascal語言中創建了一個數據庫。我目前使用SQLlite3。到目前爲止,我已經創建了一個數據庫,該數據庫擁有一個企業的當前資產和負債(整數),但是我需要創建一個算法,將這兩個數字相除,然後將這兩個數字的「比率」部分輸入到一個新表格中,任何幫助,將不勝感激。SQLlite算法劃分兩個表列並將數字輸出到一個新表
非常感謝。下面
在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,並使用合適的數據庫組件來對數據庫執行它。