PDA

Vollständige Version anzeigen : SQL Abfrage


kupey
19.09.2001, 10:57
Hallo

ich habe ein kleines problem und zwar geht es dabei um eine sql abfrage...vieleicht hat jemend ein kleines bischen zeit und kann mir einen tip geben...also folgendes...

ich habe eine tabelle mit mehreren Spalten und zwar MONAT und JAHR und zum Beispiel PERSON...da stehen zum beispiel 6 Tupel drin...und jetzt brauche ich eine Abfrage wo er mir das höchste Jahr mit dem dazugehörigen höchsten Monat herausgibt...

BSP: MONAT | JAHR | PERSON Tabelle "datum"
------------------------
3 | 2001 | meier
1 | 2003 | müller
5 | 2003 | schmidt
5 | 2003 | liselotte
12 | 2001 | quadderbacke
3 | 2003 | hans

so jetzt soll mir die abfrage quasi 2 mal 5/2003 in eine neue
Tabelle schreiben (die Tabelle existiert bereits...)

MONAT | JAHR | PERSON Tabelle "höchstes_datum"
-------------------------
5 | 2003 | schmidt
5 | 2003 | liselotte

quasi so solls aussehen...

ACCESS-SQL:
-----------

INSERT INTO höchstes_datum ( MONAT, JAHR, PERSON )
SELECT MONAT, JAHR, PERSON
FROM datum
WHERE ???

//hier muss jetzt glaube ich die Bedingung hin...

;

das ganze soll in EINER Abfrage stehen...also nicht erst die Tupel mit dem höchsten Jahr in einer Tabelle speichern und dann noch eine Abfrage wo dann der höchste Monat gesucht wird...

VIELEN DANK

Kurt aus Kienitz
19.09.2001, 20:21
Hallo auch,

Probier es mal so:

INSERT INTO höchstes_datum ( MONAT, JAHR, PERSON )
SELECT A.MONAT, A.JAHR, A.PERSON
FROM datum A
WHERE A.JAHR = (SELECT MAX(JAHR) FROM datum)
AND A.MONAT = (SELECT MAX(B.MONAT) FROM datum B WHERE B.JAHR = A.JAHR);

kupey
19.09.2001, 22:22
juhu es funzt! VIELEN DANK...ich hatte andauernd mit

WHERE (((Tabelle1.Monat)=(SELECT max(Monat) from Tabelle1;) AND ((Tabelle1.Jahr)=(SELECT max(Jahr) from Tabelle1;));

probiert...aber das ging ja halt nicht...