Rozwiązane [SQL] Lista nie taka jaką chcem
: pt lis 30, 2007 10:24 am
Witam,
Mam tabele:
gracze:
id_g, punkty
1, 10
2, 10
3, 10
schowki:
id_s, gracz, nazwa
1, 1, "góra"
2, 1, "dom"
3, 1, "grota"
4, 2, "plecak"
5, 2, "kieszeń"
6, 2, "jaskinia"
7, 3, "drzewo"
8, 3, "jama"
9, 3, "skrzynia"
Potrzebuję listę (przykład):
"gracz", "nazwa"
1, losowe z góra, dom lub grota
2, losowe z plecak, kieszeń lub jaskinia
3, losowe z drzewo, jama lub skrzynia
Chcem wylosować po jednym rekordzie "schowki.nazwa" dla każdego garcza "gracze.id_g" przy warunkach:
schowki.gracz=gracze.id_g AND gracze.punkty>0
Zrobiłem coś takiego:
[sql]SELECT `gracz`, `nazwa`
FROM `gracze`, `schowkia`
WHERE `schowki.gracz`=`gracze.id_g` AND `gracze.punkty`>0
GROUP BY `gracz`
ORDER BY RAND()[/sql]
ale jest problem, bo za każdym razem pokazuje tą samą listę:
"gracz", "nazwa"
1, góra
2, plecak
3, drzewo
czyli "schowki.nazwa" to pierwsza napotkana wartość dla każdego nowego "gracze.id_g".
Proszę o podpowiedź co robię źle.
Mam tabele:
gracze:
id_g, punkty
1, 10
2, 10
3, 10
schowki:
id_s, gracz, nazwa
1, 1, "góra"
2, 1, "dom"
3, 1, "grota"
4, 2, "plecak"
5, 2, "kieszeń"
6, 2, "jaskinia"
7, 3, "drzewo"
8, 3, "jama"
9, 3, "skrzynia"
Potrzebuję listę (przykład):
"gracz", "nazwa"
1, losowe z góra, dom lub grota
2, losowe z plecak, kieszeń lub jaskinia
3, losowe z drzewo, jama lub skrzynia
Chcem wylosować po jednym rekordzie "schowki.nazwa" dla każdego garcza "gracze.id_g" przy warunkach:
schowki.gracz=gracze.id_g AND gracze.punkty>0
Zrobiłem coś takiego:
[sql]SELECT `gracz`, `nazwa`
FROM `gracze`, `schowkia`
WHERE `schowki.gracz`=`gracze.id_g` AND `gracze.punkty`>0
GROUP BY `gracz`
ORDER BY RAND()[/sql]
ale jest problem, bo za każdym razem pokazuje tą samą listę:
"gracz", "nazwa"
1, góra
2, plecak
3, drzewo
czyli "schowki.nazwa" to pierwsza napotkana wartość dla każdego nowego "gracze.id_g".
Proszę o podpowiedź co robię źle.