Forums Neueste Beiträge
 

SQL-Abfrage für mich nicht lösbar

07/07/2008 - 15:14 von Walter Sporn | Report spam
Hallo!

Ich hab eine Tabelle mit folgenden Feldern (vereinfacht):

[Primàrschlüssel_Laufindex]
[ReferrenzID_1]
[ReferrenzID_2]
[Datum]
[Wert]

Ich muss eine Abfrage dafür basteln, an der ich schon seit Tagen verzweifelt
hànge.
Und zwar muss ich zunàchst alle Records nach [ReferrenzID_1] und
[ReferrenzID_2] gruppieren. Also die Kombination aus beiden Spaltenwerten
darf jeweils nur einmal im Ergebnis vorkommen. Und das zweite Kriterium ist
das [Datum]. Bei der Gruppierung muss praktisch derjenige Record übrig
bleiben, der das höchte [Datum] hat.
Und am Schluss will ich den [Wert] mit im Ergebnis stehen haben.

Wenn ich das so schreibe

SELECT ReferrenzID_1, ReferrenzID_2
FROM dbo.Tabelle
GROUP BY ReferrenzID_1, ReferrenzID_2, Datum
ORDER BY Datum DESC

dann schließe ich das [Datum] fàlschlicherweise mit in die Gruppierung ein.
Wenn ich das Datum bei der Gruppierung weglasse, dann meckert der
SQL-Parser, weil das [Datum] der Sortierung bei der Aggregatfunktion
"Gruppierung" fehlt. Außerdem krieg ich den [Wert] nicht mit in die Abfrage,
weil der ja auch gleichzeitig in der Gruppierung auftauchen muss.

Ich habs auch mit Unterabfragen probiert, alles ohne Erfolg. Kann mir jemand
helfen?

Schöne Grüße und schon mal Danke von einem, der leider noch nicht sehr viel
SQL-Erfahrung hat...
 

Lesen sie die antworten

#1 Stefan Simon
07/07/2008 - 15:24 | Warnen spam
SELECT ReferrenzID_1, ReferrenzID_2
FROM dbo.Tabelle
GROUP BY ReferrenzID_1, ReferrenzID_2, Datum
ORDER BY Datum DESC





Mach 2 Tabellen daraus:

SELECT Top 1 ReferrenzID_1, ReferrenzID_2 from
(SELECT ReferrenzID_1, ReferrenzID_2
FROM dbo.Tabelle
GROUP BY ReferrenzID_1, ReferrenzID_2, Datum) Tab1
join Value ...
ORDER BY Datum DESC

Ähnliche fragen