Guten Morgen,
ich beiße mir schon den ganzen Morgen an einer Datenbankabfrage die Zähne aus. Es sollen Anträge ausgelesen werden und zu diesen Anträgen unter anderem auch die jeweils letzte Mitarbeiter Bemerkung als Notiz.
Folgende Lösung funktioniert unter MySQL 5.x wunderbar:
Da aber auf dem Server, auf dem das Script später mal laufen soll, nur eine MySQL Version 4.1.10a installiert ist, bekomme ich natürlich die Fehlermeldung [COLOR=crimson]#1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'[/COLOR]
Dann habe ich versucht das ganze ander zu lösen:
Bei dieser Lösung funktioniert die Abfrage zwar unter MySQL 4.1.10a, aber die Spalten aus der Tabelle tared_contract_bemerkungen sind im Ergebnis NULL.
Gibt es eine andere Lösung?
Bitte jetzt keine Antworten wie Na klar, aktualisiere MySQL!. Das liegt nicht in meinen Händen.
Gruß
Marcel
ich beiße mir schon den ganzen Morgen an einer Datenbankabfrage die Zähne aus. Es sollen Anträge ausgelesen werden und zu diesen Anträgen unter anderem auch die jeweils letzte Mitarbeiter Bemerkung als Notiz.
Folgende Lösung funktioniert unter MySQL 5.x wunderbar:
Code:
SELECT c.contract_id, c.VsnKUN, DATE_FORMAT( VsnErstelltDatum, '%d.%m.%Y %H:%i:%s' ) AS VsnErstelltDatum, u.SuchName, u.Vorname, r.RisSparte, b.RemText, b.RemDatum, b.RemMitarbeiter FROM ( tared_customer_contracts c ) LEFT JOIN tared_customer u ON ( u.KUN = c.VsnKUN ) LEFT JOIN tared_risk_key r ON ( r.RIS = c.VsnRIS ) WHERE contract_id IN ( SELECT RemContract FROM tared_contract_bemerkungen ORDER BY RemDatum DESC LIMIT 0,1 ) AS b AND VsnImportJaNein = 'ja' ORDER BY contract_id DESC
Dann habe ich versucht das ganze ander zu lösen:
Code:
SELECT c.contract_id, c.VsnKUN, DATE_FORMAT( VsnErstelltDatum, '%d.%m.%Y %H:%i:%s' ) AS VsnErstelltDatum, u.SuchName, u.Vorname, r.RisSparte, b.RemText, DATE_FORMAT(b.RemDatum, '%d.%m.%Y') AS RemDatum, b.RemMitarbeiter FROM ( tared_customer_contracts c ) LEFT JOIN tared_customer u ON ( u.KUN = c.VsnKUN ) LEFT JOIN tared_risk_key r ON ( r.RIS = c.VsnRIS ) LEFT JOIN ( SELECT RemContract, RemText, RemDatum, RemMitarbeiter FROM tared_contract_bemerkungen ORDER BY RemDatum DESC LIMIT 0,1 ) AS b ON (c.contract_id = b.RemContract) WHERE VsnImportJaNein = 'ja' ORDER BY contract_id DESC
Gibt es eine andere Lösung?
Bitte jetzt keine Antworten wie Na klar, aktualisiere MySQL!. Das liegt nicht in meinen Händen.
Gruß
Marcel
Kommentar