Servus die Damen und Herren,
ich hab da mal ein kleines SQL Problem zu lösen. Basic ist MySQL 5.0
Ich habe folgende Tabellen:
bars
bar_id
viele unwichtige Felder.....
funfairs
funfair_id
viele unwichtige Felder.....
und als letzte:
photos
photo_id
photo_objektid -> ist entweder eine bar_id, oder eine funfair_id
photo_category -> entweder steht dort "bars" oder "funfairs" drin, deutet also auf den Typ
Anhand der Kombination von photo_objektid und photo_category kann ich also auf einen Eintrag aus oben genannten Tabellen schließen.
Ich möchte jetzt 5 zufällige Fotos die in die Tabelle photos eingetragen wurden, MIT ihren Objectdaten, also dem passenden Ergebnisset aus bars oder funfairs.
Versuch:
Das Problem ist, das ich so für ein Foto neben einer Bar, auch Funfair Daten zurückbekomme.
Hat jemand nen Tipp?
Ein Dump zum rumspielen befindet sich im Anhang.
Gruß
Schnoop
ich hab da mal ein kleines SQL Problem zu lösen. Basic ist MySQL 5.0
Ich habe folgende Tabellen:
bars
bar_id
viele unwichtige Felder.....
funfairs
funfair_id
viele unwichtige Felder.....
und als letzte:
photos
photo_id
photo_objektid -> ist entweder eine bar_id, oder eine funfair_id
photo_category -> entweder steht dort "bars" oder "funfairs" drin, deutet also auf den Typ
Anhand der Kombination von photo_objektid und photo_category kann ich also auf einen Eintrag aus oben genannten Tabellen schließen.
Ich möchte jetzt 5 zufällige Fotos die in die Tabelle photos eingetragen wurden, MIT ihren Objectdaten, also dem passenden Ergebnisset aus bars oder funfairs.
Versuch:
PHP-Code:
$strSql = 'SELECT * '
. 'FROM photos Photos, bars Bars, funfairs Funfairs '
. 'WHERE photo_status > 0 '
. 'AND ( photo_objektid = Bars.bar_id '
. ' AND Photos.photo_kategorie = "bars") '
. 'OR ( photo_objektid = Funfairs.funfair_id '
. ' AND Photos.photo_kategorie = "funfairs" ) '
. 'ORDER BY RAND() '
. 'LIMIT 5';
Hat jemand nen Tipp?
Ein Dump zum rumspielen befindet sich im Anhang.
Gruß
Schnoop
Kommentar