Zusammenrechnen mit MySQL

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Zusammenrechnen mit MySQL

    Hallöchen.

    Ich habe hier ein schönes SQL Statement.

    Code:
    SELECT FROM_UNIXTIME( rechnungen.rechnung_datum, '%Y-%m-%d' ) AS foo, rechnung_getraenk_menge * getraenk_preis
    FROM getraenke
    INNER JOIN rechnung_getraenke ON getraenke.getraenk_id = rechnung_getraenke.getraenk_id
    INNER JOIN rechnungen ON rechnungen.rechnung_id = rechnung_getraenke.rechnung_id
    GROUP BY FROM_UNIXTIME( rechnungen.rechnung_datum, '%Y-%m-%d' ) , getraenke.getraenk_id
    HAVING foo LIKE '2006-08-%'
    LIMIT 0 , 30
    Wer erfahren in SQL Statements ist, wird erkennen, dass ich mit diesem Statement Preise aus einer Datenbank hole und Sie zusammenrechne mit einer Menge. Jetzt besteht mein Problem darin, dass das Statement eigentlich genau das macht was es soll. Es soll rechnen. Es gibt dann die einzelnen Getränke mit dem jeweiligen ausgerechneten Preis und Datum zurück. Jetzt will ich das ganze aber noch so haben, dass er die Getränkepreise mit allen Preisen von dem jeweiligen Tag zusammenrechnet und mir nur diesen wiedergibt.

    So sieht die jetzige Rückgabe aus:

    Code:
    +------------+------------------------------------------+
    | foo        | rechnung_getraenk_menge * getraenk_preis |
    +------------+------------------------------------------+
    | 2006-08-19 |                                     5.40 |
    | 2006-08-19 |                                     1.80 |
    | 2006-08-19 |                                     1.80 |
    | 2006-08-19 |                                     5.60 |
    | 2006-08-19 |                                     2.50 |
    | 2006-08-19 |                                     1.10 |
    | 2006-08-20 |                                     1.80 |
    | 2006-08-20 |                                     1.80 |
    | 2006-08-20 |                                     1.80 |
    | 2006-08-20 |                                     1.80 |
    | 2006-08-20 |                                    10.40 |
    | 2006-08-20 |                                     1.60 |
    | 2006-08-20 |                                     2.80 |
    | 2006-08-20 |                                     2.50 |
    | 2006-08-20 |                                     1.20 |
    | 2006-08-21 |                                     5.40 |
    | 2006-08-21 |                                     3.60 |
    | 2006-08-21 |                                    15.60 |
    | 2006-08-21 |                                    22.40 |
    | 2006-08-21 |                                    25.00 |
    | 2006-08-21 |                                     1.10 |
    | 2006-08-21 |                                     8.00 |
    +------------+------------------------------------------+
    Es soll aber am ende so aussehen:


    Code:
    +------------+------------------------------------------+
    | datum      | einnahmen                              |
    +------------+------------------------------------------+
    | 2006-08-19 |                                    18.40 |
    | 2006-08-20 |                                    25.70 |
    +------------+------------------------------------------+
    Ich will also alles zusammengerechnet haben und mit dem Datum ausgegeben bekommen.

    Ist das irgendwie möglich?

  • #2
    Was passiert denn, wenn du aus
    Code:
    GROUP BY FROM_UNIXTIME( rechnungen.rechnung_datum, '%Y-%m-%d' ) , getraenke.getraenk_id
    mal
    Code:
    GROUP BY FROM_UNIXTIME( rechnungen.rechnung_datum, '%Y-%m-%d' )
    machst?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Dann bekomme ich nur noch ein Getränk von jedem Tag zurück. Also eine getraenke_id. Also auch nicht das richtige -.-

      Sieht dann so aus:

      Code:
      +------------+------------------------------------------+
      | foo        | rechnung_getraenk_menge * getraenk_preis |
      +------------+------------------------------------------+
      | 2006-08-19 |                                     5.40 |
      | 2006-08-20 |                                     1.60 |
      | 2006-08-21 |                                     5.40 |
      +------------+------------------------------------------+

      Kommentar

      Lädt...
      X