Hallo Ilja,
Danke für deine Antwort.
Also mein Datenmodell sieht grob aus wie folgt:
Tabelle 1 (Content):
nboard: id | category_id | topic | created
Tabelle 2 (Categories):
nboard_categories: id | category
Ich habe es jetzt mal anhand der MySQL-Docu mittels
GROUP BY und HEAVING versucht.
Hier ein paar Beispiele:
==1==
SELECT
max( modul.created ) AS 'maxcreated',
modul.topic,
cats.category
FROM
nboard modul
LEFT JOIN
nboard_categories cats ON modul.category_id = cats.id
GROUP BY
modul.category_id
HEAVING
modul.created = maxcreated (modul.created logischerweise unbekannt)
==2==
select
max( modul.created ) AS 'created',
modul.topic,
cats.category
from
nboard modul,
nboard_categories cats
where
modul.category_id = cats.id
group by
modul.category_id
ORDER BY
modul.category_id ASC,
modul.created DESC
==3==
SELECT
modul.created AS 'curcreated',
max( modul.created ) AS 'maxcreated',
modul.topic,
cats.category
FROM
nboard modul
LEFT JOIN
nboard_categories cats ON modul.category_id = cats.id
GROUP BY
cats.category
HAVING
curcreated = maxcreated
Die Daten, die bei Nummer 2 ankommen, sehen teils auch
schon recht gut aus. In dem Fall bekomme ich zB für jede
Kategorie das jeweils aktuellste Created-Datum. Als weitere
Spalte die Cat-Id, und als dritte Spalte den Topic. Der
allerdings verweist fälschlicherweise immer auf den ersten
Eintrag einer jeden Kategorie (der mit der niedrigsten ID).
Hinsichtlich der Zuordnung zwischen der Category-Id und dem
Created-Datum scheint widerum alles OK zu sein.
Daraus schließe ich, dass wohl keine direkte Verbindung
zwischen den gefetchten Daten eines Datensatzes besteht.
Entweder müsste ich Die Verbindung erstmal herstellen, oder
ich müsste es auch noch irgendwie schaffen den neusten topic
auszulesen. Allerdings bekäme ich an dieser Stelle dann
Probleme, was das Auslesen weiterer Parameter der Modul-
Tabelle (hier ausgeblendend) anbelangt.
Was meinst Du dazu?
MfG
Peter A.