won_gak
Erfahrenes Mitglied
Hilfe! Query um in dem neuesten Text zu suchen
Hallo an alle,
ich habe folgendes Problem: Ich habe eine Tabelle, in der sich Texte befinden. Bei Änderungen am Text wird ein neuer Datensatz angelegt (angezeigt wird nur der zuletzt bearbeitete Text). Also ähnlich wie bei einem WIKI.
Nun möchte ich in dieser Tabelle suchen, dabei sollen natürlich auch nur die neuesten Datensätze berücksichtigt werden.
Hier mein Ansatz:
Leider werden bei der Suchabfrage nur die Datensätze zurückgegeben, die zuerst getroffen werden (wegen des JOINs). Das heißt natürlich, dass nur ältere "Versionen" gefunden werden. Ich hatte die Idee mit
die Datensätze herauszufiltern, die auch tatsächlich die aktuelle Version betreffen...
Ich komme einfach nicht weiter. Ich habe das Gefühl, dass ich einen grundsätzlichen Fehler gemacht habe...
Habt ihr eine Idee?
Hallo an alle,
ich habe folgendes Problem: Ich habe eine Tabelle, in der sich Texte befinden. Bei Änderungen am Text wird ein neuer Datensatz angelegt (angezeigt wird nur der zuletzt bearbeitete Text). Also ähnlich wie bei einem WIKI.
Nun möchte ich in dieser Tabelle suchen, dabei sollen natürlich auch nur die neuesten Datensätze berücksichtigt werden.
Hier mein Ansatz:
Code:
SELECT t1.name, t2.txt AS out_txt, t2.timestamp, MAX( t1.timestamp ) AS max_timestamp
FROM texte AS t1
LEFT JOIN texte AS t2 ON t2.id = t1.id AND t2.txt
LIKE '%suche%'
GROUP BY t1.name
ORDER BY t1.timestamp DESC
Leider werden bei der Suchabfrage nur die Datensätze zurückgegeben, die zuerst getroffen werden (wegen des JOINs). Das heißt natürlich, dass nur ältere "Versionen" gefunden werden. Ich hatte die Idee mit
Code:
HAVING t2.timestamp = max_timestamp
Ich komme einfach nicht weiter. Ich habe das Gefühl, dass ich einen grundsätzlichen Fehler gemacht habe...
Habt ihr eine Idee?
Zuletzt bearbeitet: