![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 58 Pomógł: 0 Dołączył: 8.10.2003 Ostrzeżenie: (0%) ![]() ![]() |
mam 2 tabele
users login: varchar(255) punkty: int status: nazwa: varchar(255) prog: int teraz chciałbym wykonać zapytanie SELECT * FROM users LEFT JOIN (SELECT nazwa FROM status WHERE users.punkty>status.prog ORDER BY prog LIMIT 1) s ON 1 czyli wykonać zapytanie skorelowane, tak żeby w tabeli users pokazało mi jaki status ma użytkownik, status zależny jest od ilości punktów. Tabela status zawiera progi np. raczkujący : 0 pisarz : 100 demon : 1000 Czy da się w mysql napisać jedno zapytanie, żeby to zrealizować ? -------------------- atay
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A nie chodzi Ci przypadkiem o użycie dodatkowego pola ustalanego przez CASE?
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 58 Pomógł: 0 Dołączył: 8.10.2003 Ostrzeżenie: (0%) ![]() ![]() |
no właśnie nie, bo w CASE z góry masz określoną ilość pól, a mi zależy na tym, żeby statusy były w tabeli i mogły być dowolnie zmieniane.
dla większej jasności jeszcze, przykładowe dane tabela users: imie - punkty: Karol - 700 Józef - 1300 Stefan - 2200 status: nazwa - prog raczkujący - 0 pisacz - 1000 zaawansowany - 2000 i wynikowo chciałbym dostać Karol - 700 - raczkujący Józef - 1300 - pisacz Stefan - 2200 - zaawansowany -------------------- atay
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
[sql]JOIN LEFT[sql] + warunek uzależniony od kolumny. IMHO najlepiej byłoby tu dodać pomocniczą kolumnę, która by przechowywała początek zakresu, a nie tylko koniec, tj:
i tak dalej, ale z tym już sobie powinieneś poradzić. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 27.06.2025 - 04:53 |