Hallo!
> also probier ich's nochmal.
Tja, die Antwort auf Deine letzte Frage wurde m. E. am gleichen Tag
schon in einem anderen Thread beantwortet ...
> Ich bastle an nem Forum und jetzt m�chte ich als Startseite des Forums
> die 50 Fragen ausgeben die zu letzt beantwortet wurden oder die neu
sind
> sortiert nach Datum/Uhrzeit absteigend.
Aber das klingt dann doch ganz anders. ;-)
> Jetzt hab ich 3 Tabellen( Gruppen, Messages, User ) wobei eigentlich
nur
> Messages relevant ist.
> Messages-Felder:
> # message_id(auto-wert)
> # zu_id( ist 0 wenn's ne frage ist ansonsten zu_id=message_id)
> #datum/uhrzeit
> usw.
>
> Jetzt kann ich zwar ein recordset machen das mir die neusten
> DS zur�ckgibt, aber da Fragen und antworten in einer Tabelle liegen
bekomm
> ich
> ja , statt nur der neuen fragen und der zuletzt beantworteten fragen ,
> nur die DS absteigend sortiert also fragen und antworten.
>
> Wie mach ich das jetzt am besten �ber ne abfrage (geht das in einer
> Abfrage?)
> das ich die neuen fragen bekomme und die fragen
> die zuletzt beantwortet wurden und auch die Anzahl der antworten zu
den 50
> neusten fragen.
>
> Ich hoff jetzt hab ich's verst�ndlicher erkl�rt.
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