2017-01-19 7 views
0

私はSQLを初めて使い、Lazarusと言語パスカルの中にデータベースを作成しました。私は現在SQLlite3を使用しています。これまで私は、ビジネスの現在の資産と負債(整数)を持つデータベースを作成しましたが、私はこれらの2つの数値を分割し、これら2つの数値の「比率」を新しいテーブルに入力するアルゴリズムを作成する必要があります。どんな助けもありがとう。SQLlite 2つのテーブルカラムを分割して新しいテーブルに出力するアルゴリズム

多くのありがとう。

答えて

0

SQLは、以下の(資産へLiabilitesの)列企業ID、資産および列の企業IDと比の負債

CompanyAL次いで

を移入で2つのSqliteを表

会社が作成します2つの行を持つCompanyテーブルには、

insert into ... select ... 

資産/負債の比率をCompanyALテーブルに挿入します。

重要:Sqliteでは、「除算」シンボル/はデフォルトで整数結果を与えるため、Ratio値は0と2になります。これを克服するには、結果に1.0を乗算する式を使用する必要があります; Ratio列の値を計算する式は、分子と金種で行っています。 Firefox用Sqlite Managerアドインを使用してSqliteをするためにテストされて

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 

。明らかにあなたのLazarusアプリケーションでは、コード内に必要なSqlを構築し、適切なdbコンポーネントを使用してデータベースに対して実行します。

関連する問題