Einzelnen Beitrag anzeigen
Alt 29.11.2004, 15:10   #7
T.dot
Master
 
Registriert seit: 13.08.2003
Beiträge: 624


Standard

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
T.dot ist offline   Mit Zitat antworten