Einzelnen Beitrag anzeigen

Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#1

Jeder DB-Zeile zufällig eine andere zuordnen

  Alt 14. Dez 2008, 11:14
Datenbank: MySQL • Version: 5.0 • Zugriff über: Unwichtig
HI DPler!

Ich versuche gerade ein Wichtelspiel für meine Community zu programmieren. Dabei ist es jetzt auch von Nöten, dass ich jedem User einen anderen zuordne. Wer das Wichtelspiel kennt, weiß was ich meine. Das Problem dabei ist aber, dass ich nicht weiß, wie ich das per SQL machen soll. Folgendes SQL habe ich mir schon selbst gebastelt:

SELECT name, (SELECT name FROM user AS b WHERE wichtelt = 1 AND b.name != a.name ORDER BY RAND() LIMIT 0, 1) AS wichtel FROM user AS a WHERE wichtelt = 1; Problem ist aber, dass in der Spalte "wichtel" (Durch das Sub-Select, ich hoffe das nennt man so. Gemeint ist das Select in den Klammern) User auch gerne mal doppelt vorkommen. Das darf aber nicht sein. Ich hätte das ganze schon hundert Mal mit einer beliebigen Scriptsprache gelöst, aber jetzt packt mich der Ehrgeiz, das alleine mit SQL zu machen, damit ich meine mangelhaften Kenntnisse darin etwas steigern kann.

Hoffe ihr könnt mir helfen!

Mit freundlichen Grüßen,

Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat