2017-09-03 16 views
0

私は働く人々のための毎日の収入を計算したいと思います。私は、pgadmin IIIとpostgresql 9.5.8のpostgresqlデータベースを作成しました。ここでは、日付、開始時刻、終了時刻、日付と時刻を入力できます。これらの情報から、データベースで作業時間(開始日)と毎日の収入(作業時間*レート時間)を計算します。 pgadmin IIIでどうすればいいのですか?私は、クエリ関数を使用しているときにそれを行う方法を知っていますが、私はクエリとしてではなく、データベースの列としてそれをしたくありません。出来ますか ?ありがとうございました。 postgresql database列のPostgresql操作

答えて

0

私が正しく理解している場合、いくつかの列が他の列に基づいて計算された値を持つテーブルが必要です。

これを行う1つの方法は、Viewを使用することです。それは通常のテーブルのように使うことができますが、カラム値はある種のクエリで使用するときにのみ計算されます。

ここにあなたの説明に基づいて単純なビューだ 、列start_hourend_hourrateexampleテーブルを仮定:

CREATE VIEW example_view AS 
SELECT 
    start_date, start_hour, end_hour, rate, 
    (end_hour-start_hour) AS work_time, 
    (end_hour-start_hour) * rate AS daily_income 
FROM example; 

あなたがそれに参加し、それを形成する選択します(通常のテーブルと同じように使用することができます他のテーブルなど)。この例ではa fiddleですが、work_timeの計算のためのロジックが重複していない同様のビューもあります。

+0

非常に参考にしていただきありがとうございます。 – gus