Meinst du das schreiben des Sql-Strings oder einfach alles aulesen und danach doppeltes rausschmeißen?
Hm, am besten wärs wohl beides zu testen und das schnellere zu nehmen - Ich mach halt nur gern möglichst viel Datenbankseitig, wenns um sowas geht
In Wirklichkeit würde das ganze mit verschachtelten Selects so aussehen:
Code:
SELECT BildURL From tblBilder
WHERE tblBilder.Bild_ID IN (
(SELECT Bild_ID from tblBilder WHERE ID_Name='Z_ID' AND ID_Wert=1 ORDER BY Rand() LIMIT 0,1),
(SELECT Bild_ID from tblBilder WHERE ID_Name='Z_ID' AND ID_Wert=2 ORDER BY Rand() LIMIT 0,1),
(SELECT Bild_ID from tblBilder WHERE ID_Name='Z_ID' AND ID_Wert=3 ORDER BY Rand() LIMIT 0,1)
(SELECT Bild_ID from tblBilder WHERE ID_Name='Z_ID' AND ID_Wert=4 ORDER BY Rand() LIMIT 0,1)
(SELECT Bild_ID from tblBilder WHERE ID_Name='Z_ID' AND ID_Wert=5 ORDER BY Rand() LIMIT 0,1)
)
OR tblBilder.Bild_ID IN (
(SELECT Bild_ID from tblBilder WHERE ID_Name='D_ID' AND ID_Wert=1 ORDER BY Rand() LIMIT 0,1)
(SELECT Bild_ID from tblBilder WHERE ID_Name='D_ID' AND ID_Wert=2 ORDER BY Rand() LIMIT 0,1)
)
OR tblBilder.Bild_ID IN (
(SELECT Bild_ID from tblBilder WHERE ID_Name='G_ID' AND ID_Wert=22 ORDER BY Rand() LIMIT 0,1)
)
ich glaube da is sowohl die eine, als auch die andere lösung zach...
mfg Thomas
