Ach so, das ist gar nicht beliebig tief geschachtelt? Claudius
> Jo, das hab ich kapiert. > > Wenn es immer nur eine Antwort gibt, also keine Antwort auf > eine Antwort, dann ist das mit einer Datenbankabfrage zu > l�sen (ich verteile es trotzdem auf mehrere, damit's > einfacher wird, letztendlich rufst Du aber nur eine auf): > > View 1 - TOP50_questions - die 50 neuesten Fragen > SELECT TOP 50 message_id AS id, message_datum > >FROM messages > WHERE zu_id = 0 > ORDER BY message_datum DESC > > View 2 - TOP50_answers die 50 Fragen mit den 50 neuesten Antworten > SELECT TOP 50 zu_id AS id, MAX(message_datum) > >FROM messages > WHERE zu_id > 0 > GROUP BY zu_id > ORDER BY message_datum DESC > > View 3 - TOP100_threads - View 1 und View 2 verbinden > SELECT id, message_datum > >FROM TOP50_questions > UNION > SELECT id, message_datum > >FROM TOP50_answers > > View 4 - TOP50_start - Nur diese View rufst Du in ASP auf! > SELECT DISTINCT TOP 50 *, > (SELECT COUNT(*) > FROM messages AS B > WHERE B.zu_id = A.message_id) AS answers > >FROM messages AS A INNER JOIN TOP100_threads > ON messages.message_id = > TOP100_threads.id ORDER BY TOP100_threads.message_datum DESC > > In View 4 wird auch die Anzahl der Antworten auf eine Frage > mit einem Sub-Select ermittelt. > > Achtung - ich habe die Views nicht getestet, also keine > Gew�hr. Aber Du kannst das ja sehr einfach direkt in der > Datenbank testen. > > Freundliche Gr��e > Joachim van de Bruck > > > > > > | [aspdedatabase] als [EMAIL PROTECTED] subscribed > | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv Sie > | k�nnen sich unter folgender URL an- und abmelden: > | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp > | [aspdedatabase] als [email protected] subscribed | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv | Sie k�nnen sich unter folgender URL an- und abmelden: | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp
