so was?

SELECT 
    * 
FROM testt AS a 
WHERE id in
    (
    SELECT 
        top 1 id 
    FROM testt AS b 
    WHERE a.ZSTID = b.ZSTID 
    ORDER BY gültig_ab desc
    )

> -----Ursprüngliche Nachricht-----
> Von: Mayer, Stefan [mailto:[EMAIL PROTECTED]
> Gesendet: Donnerstag, 3. November 2005 10:40
> An: [email protected]
> Betreff: [Coffeehouse] Gruppierungsproblem....
> 
> Ich habe in einer historisch gewachsenen Datenbank in einer
> Schlüsseltabelle manche Einträge doppelt - und die "falschen" Einträge
> kann ich nicht einfach löschen, weil ich nicht weiß, wie sich das Programm
> verhält.
> 
> Diese Einträge sind zum Beispiel so:
> 
> ID - gültig_ab - ZST-ID - Wert
> ----------------------------
> 2  -  1.1.2004 - 1705   - A
> 17 -  1.1.2005 - 1705   - B
> ----------------------------
> bzw.
> ----------------------------
> 35 -  1.1.2003 - 4533   - C
> 99 -  1.7.2005 - 4533   - A
> ----------------------------
> 
> Ich will jetzt eine Abfrage bauen, die mir zu jeder ZST-ID den WERT der
> Zeile zurückliefert, wo das gültig_ab-Datum am Höchsten ist, sprich den
> aktuellsten Wert.
> 
> Wenn ich mit MAX(gültig_ab) und max(Wert) gruppiere, dann bekomme ich aber
> nicht nur das höchste Datum, sondern auch den höchsten Wert, was im ersten
> Beispiel zwar stimmt, im zweiten aber falsch ist.
> 
> Kann mir wer helfen?
> 
> Danke,
> Stefan.
> 
> 
> 
> 
> 
> _______________________________________________
> Coffeehouse Mailingliste, Postings senden an:
> [email protected]
> An-/Abmeldung und Suchfunktion unter:
> http://www.glengamoi.com/mailman/listinfo/coffeehouse
_______________________________________________
Coffeehouse Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/coffeehouse

Antwort per Email an