Announcement

Collapse
No announcement yet.

Abfrage mit Datum, Mittelwert, Pro Monat

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Abfrage mit Datum, Mittelwert, Pro Monat

    Hallo Zusammen,

    ich könnte wir einmal Hilfe gebrauchen.
    Ich habe eine Tabelle "Einkauf" auf einem SQL-2005

    Artikel, Preis, Periode,
    4711, 5,68, 201110
    4711, 5,80, 201110
    4711, 5,50, 201109
    4712, 45,77, 201108
    4712, 45,87, 201109

    Es sollte so sein das ich das Erebniss in der Form habe
    Artikel, lezter-Preis, vor 1 Monat, 2 Monate, 3 Monate.....
    4711, 5,80, 5,74, 5,50... (5,74 = druchschnitt in 201110)
    4712, 45,87,0,00, 45,87,45,77

    Es soll eine Preisentwicklung dargestellt werden.
    Evtl macht es Sinn das ganze Quartalsweise darzustellen.

    Ich hoffe das es etwas anschaulich dargestellt ist.

    Vielen Dank
    Conny

  • #2
    Mit average und group by Periode doch eigentlich ganz einfach Google mal nach aggregatsfunktionen in SQL oder nach average in SQL.

    Comment


    • #3
      Ja den durchschnitte bekomm ich ja hin, aber ich scheitere an den "vor 1 Monat, Vor 2 Monaten...

      SELECT Aritkel, AVG(Preis) FROM Einkauf where Periode ....

      Gruß
      Conny

      Comment


      • #4
        Originally posted by cklemm View Post
        Ja den durchschnitte bekomm ich ja hin, aber ich scheitere an den "vor 1 Monat, Vor 2 Monaten...

        SELECT Aritkel, AVG(Preis) FROM Einkauf where Periode ....

        Gruß
        Conny
        nimm die Periode mit in Dein select auf und dann gruppier nach Artikel und Periode.

        Wenn ich Dich denn richtig verstanden habe und Du die Durchschnittspreise pro Monat willst.

        Quartalsweise müsstest Du die Periode in Quartal umwandeln

        In Oracle z.b. so select to_char(sysdate,'Q') from dual;

        Gruß

        Martin

        Comment


        • #5
          Hallo cklemm,
          so sollte es funktionieren.

          [highlight=sql]SELECT
          Artikel
          ,aktuellerMonat = AVG(CASE WHEN YEAR(GETDATE())*100 + MONTH(GETDATE()) = Periode THEN Preis ELSE 0 END)
          ,[aktMonat-1] = AVG(CASE WHEN YEAR(GETDATE())*100 + MONTH(GETDATE())-1 = Periode THEN Preis ELSE 0 END)
          ,[aktMonat-2] = AVG(CASE WHEN YEAR(GETDATE())*100 + MONTH(GETDATE())-2 = Periode THEN Preis ELSE 0 END)
          ,[aktMonat-3] = AVG(CASE WHEN YEAR(GETDATE())*100 + MONTH(GETDATE())-3 = Periode THEN Preis ELSE 0 END)
          ,[aktMonat-4] = AVG(CASE WHEN YEAR(GETDATE())*100 + MONTH(GETDATE())-4 = Periode THEN Preis ELSE 0 END)
          ,[aktMonat-5] = AVG(CASE WHEN YEAR(GETDATE())*100 + MONTH(GETDATE())-5 = Periode THEN Preis ELSE 0 END)
          FROM Einkauf
          WHERE PERIODE >= YEAR(GETDATE())*100 + MONTH(GETDATE())-5
          GROUP BY Artikel
          ORDER BY Artikel
          [/highlight]
          Zuletzt editiert von knoxyz; 16.11.2011, 14:21.
          Und Falk Prüfer sprach: Formatierung von SQL in Beiträgen

          Comment

          Working...
          X