MYSQL , Select / Join ? Wie ?
Armin
- datenbank
1 Ilja0 Vinzenz Mai
Hallo,
Ich habe ein Problem mit MYSQL. Mir wurde von Jemanden gesagt ich solle die MYSQL Tabelle nach dem nachfolgende Muster anlegen lassen und verweden.
schein_id zahl tag uni besitzer
1 16 6 close 1
1 19 6 close 1
1 22 6 close 1
1 29 6 close 1
1 31 6 close 1
1 39 6 close 1
2 12 6 close 1
2 16 6 close 1
2 20 6 close 1
2 22 6 close 1
2 34 6 close 1
2 44 6 close 1
3 14 6 close 1
3 19 6 close 1
3 24 6 close 1
3 28 6 close 1
3 33 6 close 1
3 40 6 close 1
Es soll eine Art Lotto Spiel sein.
schein_id = Zahl des Lottoscheins
zahl = die abgegebenen Zahlen
tag = 6für Samstag 3 für Mittwoch
besitzer = id der besitzers der es abgegeben hat
Jetzt möchte ich dem Benutzer aber Zeigen was er für Tipps abgegeben hat, Also welche Zahlen.
Wie kann ich das den nun Realisieren ?
Wie bekomme ich nun die Ausgabe wie Folgt->
Schein Nr 1: 16-19-22-19-31-39
Schein Nr 2: 12-16-20-22-34-44
etc etc
Mit SELECT * FROM lotto\_zahlen
WHERE (besitzer = '1' ) GROUP BY schein_id
bekomme ich immer nur eine Zahl raus und die Anderen 5 Zahlen fehlen.
Das ganze soll irgendwie über das Join event gehen ???
kann mir da jemand helfen ?
Gruss Armin
yo,
Mir wurde von Jemanden gesagt ich solle die MYSQL Tabelle nach dem nachfolgende Muster anlegen lassen und verweden.
hat derjenige dir nicht auch erklärt, warum es so sein soll, bzw. weisst du es ?
Wie bekomme ich nun die Ausgabe wie Folgt->
Schein Nr 1: 16-19-22-19-31-39
mit der aggregat-funktion GROUP_CONCAT, die mysql beherscht, fragt sich welche version du benutzt.
Mit SELECT * FROM
lotto\_zahlen
WHERE (besitzer = '1' ) GROUP BY schein_id
bekomme ich immer nur eine Zahl raus und die Anderen 5 Zahlen fehlen.
jedes andere dbms würde dir dafür eine fehlermeldung um die ohren schmeissen, nur mysql meint besonderns "klug" sein zu müssen und gibt dir mehr oder weniger zufällige ergebnise wieder.
Das ganze soll irgendwie über das Join event gehen ???
ja, das geht, bei 6 Zahlen mit einem 5 fachen selfjoin. ich würde aber GROUP_CONCACT bevorzugen.
Ilja
Hallo
Ich habe ein Problem mit MYSQL. Mir wurde von Jemanden gesagt ich solle die MYSQL Tabelle nach dem nachfolgende Muster anlegen lassen und verweden.
schein_id zahl tag uni besitzer
1 16 6 close 1
1 19 6 close 1
1 22 6 close 1
1 29 6 close 1
1 31 6 close 1
1 39 6 close 1
Jetzt möchte ich dem Benutzer aber Zeigen was er für Tipps abgegeben hat, Also welche Zahlen.
Wie kann ich das den nun Realisieren ?Wie bekomme ich nun die Ausgabe wie Folgt->
Schein Nr 1: 16-19-22-19-31-39
Schein Nr 2: 12-16-20-22-34-44
etc etcMit SELECT * FROM
lotto\_zahlen
WHERE (besitzer = '1' ) GROUP BY schein_id
bekomme ich immer nur eine Zahl raus und die Anderen 5 Zahlen fehlen.
Die GROUP-BY-Klausel ist hier schon angebracht im Gegensatz zu SELECT *, die gerade in Verbindung mit GROUP-BY tödlich ist. Schließlich musst Du nach _jeder_ Spalte gruppieren, die nicht in der GROUP-BY-Klausel aufgeführt ist.
Das ganze soll irgendwie über das Join event gehen ???
Nein, GROUP_CONCAT() hilft Dir weiter.
Freundliche Grüße
Vinzenz