Kalle_B: zufällige Reihenfolge generieren

Beitrag lesen

Hallöle,

meine Frage von letzter Woche ist schon im Archiv verschwunden, ich komme aber erst heute dazu, es auszuprobieren - und es klappt nicht.
Archiv: http://forum.de.selfhtml.org/archiv/2007/2/t146221/

Aufgabe:
Für eine Messe soll von 9:00-9:45 Uhr für jeden Aussteller versucht werden, einen Termin mit einem Interessenten zu machen.

Schritt 1:
Es sind freie Aussteller (noch ohne Termin) zu finden.

Problem:
Die Aussteller, deren Namen mit A beginnt, haben mehr Chancen als die mit Z, für die bleibt kein Kunde mehr übrig.

Bisherige, ungenügende Lösung:
  $q = "
#~~~~~~~~~~~~~~~~~~

FREIE AUSSTELLER

#~~~~~~~~~~~~~~~~~~
SELECT
 '".$slot_nr."'   slot
,adr2.kurzname    aus_firma
,adr2.adr_art     adr_art
,adr1.adr_unt     adr_unt
,adr2.id          aus_chef
,adr1.id          aus_id
,anw1.slot_nr     anw_slot
,kon1.slot_nr     kon_slot
FROM     ".$db[0]['personen']." AS adr1

FIRMEN-KURZBEZEICHNUNG UND CHEF-ID

LEFT JOIN ".$db[0]['personen']." AS adr2
ON        adr2.owner_id=adr1.owner_id AND adr2.kurzname=adr1.kurzname AND adr2.adr_unt=1

#ANWESENHEIT IM SLOT
LEFT JOIN ".$db[0]['anwesenheit']." AS anw1
ON        anw1.owner_id=adr1.owner_id AND anw1.slot_nr=".$slot_nr." AND anw1.adr_id=adr1.id

#TERMIN IM SLOT
LEFT JOIN ".$db[0]['kontakte']." AS kon1
ON        kon1.owner_id=adr1.owner_id AND kon1.slot_nr=anw1.slot_nr AND kon1.aussteller2_id=adr1.id

ALLE AUSSTELLER-MITARBEITER

WHERE     adr1.owner_id=".$owner_id." AND adr1.adr_kz=1 AND adr1.adr_unt=".$adr_unt." ".$such."

GROUP BY  aus_firma, adr_unt, aus_chef, aus_id, anw_slot, kon_slot
HAVING    anw_slot IS NOT NULL AND kon_slot IS NULL

Zusätzliche Zeile ergibt SQL- Fehler:
ORDER BY  adr_art RAND(aus_firma)

Die Sortierung soll zuerst nach der Adreßart und innerhalb der gleichen Adreßart -zufällig_ nach Firmenname geschehen.

Wie geht das?

Lieben Gruß, Kalle