2017-09-03 4 views
0

Ich möchte das tägliche Einkommen für arbeitende Menschen berechnen. Ich habe eine postgresql-Datenbank mit pgadmin III und postgresql 9.5.8 erstellt, wo Leute das Datum, die Start- und Endzeit für jeden Tag und die Stundenrate eingeben können. Aus diesen Informationen möchte ich, dass die Datenbank die Arbeitszeit (Anfang - Ende) und das tägliche Einkommen (Arbeitszeit * Stundensatz) berechnet. Hättet Ideen, wie könnte ich das auf Pgadmin III machen? Ich weiß, wie es geht, wenn ich die Abfragefunktion verwende, aber ich will nicht, dass es als eine Abfrage aber als Spalte in der Datenbank ist. Ist es möglich ? Vielen Dank. postgresql databasePostgresql Operationen auf Spalten

Antwort

0

Wenn ich Sie richtig verstehe, möchten Sie eine Tabelle, in der einige der Spalten basierend auf anderen Spalten Werte berechnet haben.

Eine Möglichkeit, dies zu tun, ist eine View zu verwenden. Es kann wie eine normale Tabelle verwendet werden, aber die Spaltenwerte werden nur berechnet, wenn Sie sie in einer Abfrage verwenden.

eine example Tabelle mit Spalten start_hour, end_hour und rate, Unter der Annahme, hier ist eine einfache Ansicht auf der Grundlage Ihrer Erklärung:

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; 

Sie können es wie mit einem normalen Tisch (wählen Sie es bilden, um es beitreten andere Tabellen, usw.). Hier ist a fiddle mit dem Beispiel, und auch eine ähnliche Ansicht ohne die doppelte Logik für die work_time Berechnung.

+0

Vielen Dank für die Antwort, sehr hilfreich! – gus

Verwandte Themen