ich bin gerade etwas am verzweifeln, weil ich irgendeinen logik Fehler in meiner sql abfrage nicht entdecken kann... Ich musste eine Tabelle in zwei aufteilen um so keine doppelten einträge zu erstellen.
Habe also folgende Situation:
Tabelle 1 (berichte):
[...] = unrelevante spalten
id | sid| gruppe | nummer | datum | [...]
600 | 2015 | 1 | 3 | 20.11.2015 | [...]
601 | 2015 | 1 | 78 | 20.11.2015 | [...]
602 | 2015 | 1 | 321 | 20.11.2015 | [...]
Tabelle 2 (bilder):
[...] = unrelevante spalten
bild_id | bericht_id | pfad | [...]
1 | 600 | "pfad/pfad/pfad" | [...]
2 | 600 | "pfad2/pfad2/pfad2" | [...]
3 | 602 | "pfad3/pfad3/pfad3" | [...]
4 | 602 | "pfad4/pfad4/pfad4" | [...]
Ich möchte nun mit einer Abfrage EINEN Eintrag aus der Tabelle bilder abfragen... Leider bekomme ich immer NULL für alle Spalten der Tabelle bilder ausgegeben. Es kann durchaus sein, dass einige Zeilen NULL ergeben, da es keine entsprechenden Einträge gibt. Allerdings gibt es GENERELL für alle NULL aus
Meine Abfrage lautet wiefolgt:
SELECT * FROM berichte LEFT JOIN (SELECT * FROM bilder LIMIT 1) as bilder ON berichte.id=bilder.bericht_id WHERE berichte.sid=2015 AND berichte.gruppe=1 ORDER BY STR_TO_DATE((berichte.datum), '%d.%m.%Y') DESC,berichte.nummer DESC LIMIT 10
Das Ergebnis was ich Erhalte lautet dann:
id | sid| gruppe | nummer | datum | [...] | bild_id | bericht_id | pfad | [...]
600 | 2015 | 1 | 3 | 20.11.2015 | [...] | NULL | NULL | NULL | [NULL]
601 | 2015 | 1 | 78 | 20.11.2015 | [...] | NULL | NULL | NULL | [NULL]
602 | 2015 | 1 | 321 | 20.11.2015 | [...] | NULL | NULL | NULL | [NULL]
Eigentlich sollte das Ergebnis ja so lauten:
id | sid| gruppe | nummer | datum | [...] | bild_id | bericht_id | pfad | [...]
600 | 2015 | 1 | 3 | 20.11.2015 | [...] | 1 | 600 | "pfad/pfad/pfad" | [NULL]
601 | 2015 | 1 | 78 | 20.11.2015 | [...] | NULL | NULL | NULL | [NULL]
602 | 2015 | 1 | 321 | 20.11.2015 | [...] | 3 | 602 | "pfad3/pfad3/pfad3" | [NULL]
Ich hoffe ich habe mein Problem darstellen können und hoffe, dass jemand die Lösung kennt
EDIT: Hatte vorher einen INNER JOIN... aber dier gibt dann gar nix aus
Dieser Beitrag wurde von J000S bearbeitet: 20. November 2015 - 15:25