Le Sql ci-dessous crée deux tables Sqlite
Entreprises avec des colonnes COMPANYID, actif et passif
CompanyAL avec des colonnes CompanyID et Ratio (de Passifs à l'actif)
Il a ensuite Remplit la table Companies avec quelques lignes, puis utilise un
insert into ... select ...
pour insérer le ratio des actifs/passifs dans la table CompanyAL. Important: Dans Sqlite, le symbole "diviser", /
, donne un résultat entier par défaut et donnerait donc les valeurs Ratio 0 et 2. Pour surmonter cela, vous devez utiliser une expression qui multiplie le résultat par 1,0 ; J'ai fait cela dans le numérateur et la dénomination de l'expression pour calculer la valeur dans la colonne Ratio.
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
Testé pour SQLite en utilisant le Sqlite Manager
add-in pour Firefox. Évidemment, dans votre application Lazarus, vous devez construire le code SQL requis et utiliser un composant db approprié pour l'exécuter sur la base de données.