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

Antwort per Email an