2016-12-02 5 views
0

Gefunden ein paar ähnliche Links, aber kann es nicht auf meine eigene Arbeit anwenden.Berechnete Spalte in mySQL basierend auf einer anderen Spalte nach einer Berechnung

Ich arbeite an einer mySQL-Spiel-Verleih-Datenbank und ich versuche, die Spalte der späten Gebühren zu berechnen - ich habe versucht, eine Funktion zu erstellen, aber konnte es nicht ganz richtig.

Ich habe einen Spieltisch (Spiel), der die überfällige Gebühr pro Tag enthält. Ich habe eine Miettabelle (Miete), die das fällige Rückkehrdatum und das tatsächliche Rückkehrdatum hat.

Ich möchte eine Funktion (oder eine Ansicht - je nachdem, was besser geeignet ist) erstellen, um die überfällige Gebühr basierend auf diesen Daten zu berechnen.

Zum Beispiel

Spiel Over_due_charge_per_day 3,00

Vermietung Due_return_date 01-12-16 Actual_return_date Null over_due_charge?

Wenn das tatsächliche Rückgabedatum> Fälligkeitsdatum ist, muss ich den over_due_charge_per_day berechnen.

Irgendwelche Tipps?

Dank

Antwort

0

versuchen, beiden Tabellen zu verknüpfen und dann diese Logik verwenden:

Spiel aktualisiert Satz latefees = (Fall, wenn RETURN_DATE> due_return_date dann (RETURN_DATE-due_return_date) * 3 sonst 0 Ende)

+0

select g.game_id, g.game_name, if (datediff (r.return_date, r.due_date)> 0, datediff (r.return_date, r.due_date) * g.overdue_charge_per_day, 0) als Total_Overdue_Charges_MTD aus Miet- als r Linke beitreten Spiel als g auf r.game_id = g.game_id wo Monat (r.return_date) = Monat (jetzt()) –

+0

Ich habe diese Lösung gefunden, danke für die Hilfe –

Verwandte Themen