Rechnen mit mySQL

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

  • Rechnen mit mySQL

    Hallo,

    ich habe ein Problem mit einer Datenbankabfrage, bzw. mir fehlt ein Ansatz wie ich mein Problem lösen könnte. Vielleicht könnt ihr mir ja helfen.

    Also folgendes.

    Ich habe eine Tabelle "tarifdetails" die wie folgt aussieht:



    Es gibt weiterhin eine Tabelle "Tarif" in dem die Tarifgrunddaten (wie z.B. Name, Mindestvertragslaufzeit, etc.) enthalten sind.

    Nun würde ich gerne als Endresultat die Tarife nach ihren monatlichen Durchschnitsskosten sortieren lassen.

    Das Auslesen und Ausrechnen eines einzelnen Tarifs (aus der Tarifdetails) dürfte kein großes Problem sein. Dafür würde ich folgende Rechnung nehmen:

    Zwischensumme = (bis_monat-von_monat+1)*preis*gutschrift
    Summe aller Zwischensumme eines Tarifes bilden und durch die Mindestvertragslaufzeit aus der Tabelle "Tarif" teilen.

    Da ich aber von Anfang an eine Übersicht aller Tarife haben möchte, die aufsteigend sortiert sind nach dem Durchschnitspreis eines einzelnen Tarifes, müsste ich dies ja irgendwie auslesen. Jedoch genau da hört es bei mir gerade auf und ich habe keine wirkliche Idee, wie ich das sinnvoll und am besten ohne viel PHP Aufwand lösen kann. Ohne viel bedeutet nur, das ich so viel wie möglich mySQL rechnen lassen will.

    Ich bin um jede Hilfe dankbar.

    Viele Grüße

    Marcel
    Lade deine eigenen digitalen Fotos auf unsere kostenlose Internet-Bildergallerie: http://www.myowngallery.de

  • #2
    Zitat von marcel3007 Beitrag anzeigen
    Zwischensumme = (bis_monat-von_monat+1)*preis*gutschrift
    Summe aller Zwischensumme eines Tarifes bilden und durch die Mindestvertragslaufzeit aus der Tabelle "Tarif" teilen.
    Nach f_tarif_id GROUPpieren, dabei die einzelnen Zwischensummen SUMmieren, und dann durch die dazugeJOINte Mindestvertragslaufzeit teilen …?

    (Oder andersherum, mit tarif-Tabelle beginnen, und tarifdetails hinzu joinen.)
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Hallo wahsaga,

      vielen Dank für deine schnelle Antwort.

      Sie hat mich hoffentlich auf den richtigen Weg gebracht. Habe es nun wie folgt lösen können. Für Verbesserungsvorschläge bin ich natürlich offen.

      Code:
      $sql = "
      SELECT 
      
      tarifdetails_id, tarif_name, mvlz, f_tarif_id, gutschrift, von_monat, bis_monat, beschreibung, preis, SUM((bis_monat-von_monat+1)*preis*gutschrift)/mvlz AS preis_ZS
      
      FROM 
      	".$tbl_tarifdetails."
      
      INNER JOIN
      	".$tbl_tarif." ON ".$tbl_tarifdetails.".f_tarif_id = ".$tbl_tarif.".tarif_id	
      
      GROUP BY
      	f_tarif_id
      
      ORDER BY
      	preis_ZS ASC	
      
      ";
      
      $result = mysql_query($sql);
      
      while($row = mysql_fetch_array($result))
      {
      	echo "".$row['tarif_name'].": ".number_format($row['preis_ZS'],2)."<br>";
      }
      Liebe Grüße

      Marcel
      Lade deine eigenen digitalen Fotos auf unsere kostenlose Internet-Bildergallerie: http://www.myowngallery.de

      Kommentar

      Lädt...
      X