Gruppieren nach Datum mit MIN Wert

Tscheche

Benutzer
Beiträge
6
Hallo Liebes Forum,
nachdem mir hier bei meinem letzten Problem schon so super geholfen wurde, versuche ich mein Glück auf SQL-Rettung erneut :)

Ich habe eine Tabelle:

Code:
DATUM    KOSTEN    PRODUKT    HILFSSPALTE
03.01.2011    1639,00    A    01.01.2014
03.01.2011    1729,00    B    01.01.2015
04.01.2011    1654,00    X    01.01.2014
04.01.2011    1735,00    A    01.01.2015
05.01.2011    1672,00    B    01.01.2014
05.01.2011    1760,00    X    01.01.2015
06.01.2011    1691,00    A    01.01.2014
06.01.2011    1782,00    B    01.01.2015
07.01.2011    1687,00    X    01.01.2014
07.01.2011    1779,00    A    01.01.2015
10.01.2011    1648,00    B    01.01.2014
10.01.2011    1744,00    X    01.01.2015
11.01.2011    1655,00    A    01.01.2014
11.01.2011    1751,00    B    01.01.2015
12.01.2011    1650,00    X    01.01.2014
12.01.2011    1746,00    A    01.01.2015
13.01.2011    1653,00    B    01.01.2014
13.01.2011    1746,00    X    01.01.2015

Spalte1: DATUM würde an dieser Stelle dem Lieferdatum entsprechen.
Spalte2: KOSTEN des jeweiligen Produktes
Spalte3: PRODUKT - spricht für sich selbst denke ich :)
Spalte4: HILFSSPALTE: Diese dient nur für die Abfrage - hier Steht das Datum wann das Produkt vom Einkauf beschafft wurde.

Ich schaffe die Abfrage so wie die Tabelle oben nun dargestellt ist, aber habe noch 2 Bedingungen die ich nicht abgebildet bekomme.
Nun würde ich gerne mit einer Abfrage mir diese Tabelle anzeigen lassen mit folgender Bedingung:

Groupiert soll nach Dem Datum der ersten Spalte (DATUM) - Also jeder Tag soll nur einmal angezeigt werden.

nun wird es kompliziert:
Unabhängig vom PRODUKT sollen mir die KOSTEN vom kleinsten Datum der HILFSSPALTE angezeigt werden.

Sodass ich dann am Ende jeden Tag nur einmal sehe mit den KOSTEN des frühesten Einkaufsdatum der HILFSSPALTE.

Hoffe man konnte das verstehen und jemand kennt eine Lösung.
Braucht ihr die aktuelle SQL Abfrage auch?

Danke
 
Werbung:
Wie kann das Produkt den ausgeliefert werden ohne das es vom Einkauf bereits beschafft wurde?

Ich bin mir ansonsten nicht sicher aber vielleicht so:
Code:
SELECT   t.DATUM,
     sum(t.KOSTEN) AS KOSTEN,
     t.HILFSSPALTE
FROM   (

SELECT   RANK() OVER (PARTITION BY DATUM ORDER BY HILFSSPALTE DESC) AS zeile,
     DATUM,
     KOSTEN,
     PRODUKT,
     HILFSSPALTE
FROM   tabelle

     ) t
WHERE   t.zeile = 1
GROUP BY t.DATUM,t.HILFSSPALTE
 
Werbung:
Danke. Ich werde die Abfrage einmal testen. :)

Ja das ist etwas komplizierter in der Praxis, deswegen habe ich es mit Einkaufsdatum beschrieben.
Wollte nicht die kompletten Details aus dem Prozess erklären.
Prinzipiell ist das eine Lieferung die Rückwirkend erfüllt wird ;) Also keine Direkte physische Erfüllung.
 
Zurück
Oben