Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]Złączenie tabel
ChaYim
post 24.02.2019, 17:38:48
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 24.11.2015

Ostrzeżenie: (0%)
-----


Witam ponownie smile.gif
Mam problem ze złączeniem tabel.
Posiadam tabele w bazie: `users` i `ranks`.
W `users` są kolumny: `id`, `rank_id`, `1`, `2`, `3`, ... , `8`
w `ranks` są kolumny: `id`, `name`, `wymaganie1_id`, `wymaganie2_id`, `wymaganie1_value`, `wymaganie2_value` i `poziom`

Przeznaczenie kolumn:
USERS
*rank_id - ID rangi z `ranks` którą posiada użytkownik
*1, 2 ,3, ... , 8 - są to ID statystyk

RANKS
*ID - wiadomo
*wymaganie1_id i wymaganie2_id - ID statystyki, która jest wymagana dla konkretnej rangi
*wymaganie1_value i wymaganie2_value - ilość danej statystyki, którą trzeba osiągnąć by spełnić wymagania
*poziom - poziom rangi (o tym niżej)

Jest kilka rang:
1 | Początkujący | 7 | 8 | 10 | 50 | 1
2 | Amator | 7 | 8 | 20 | 100 | 2
3 | Zaawansowany | 5 | 6 | 30 | 100 | 3
4 | Spec1 | 5 | 6 | 50 | 120 | 4
5 | Spec2 | 5 | 6 | 50 | 120 | 4

Przykładowo:
Z rangi Początkujący można awansować do Amator, z Amator do Zaawansowany, a z Zaawansowany są dwie drogi: do Spec1 i Spec2 - dlatego stworzyłem kolumnę `poziom` by było wiadomo jakie rangi są następne w stosunku do aktualnej.

Teraz moje pytanie: Jak stworzyć zapytanie do bazy by pobrać interesujące mnie dane: czyli chcąc awansować na Spec1 muszę sprawdzić jakie dwie statystyki są wymagane, pobrać wymaganą wartość z `ranks` i pobrać z `users` wartości z kolumn odpowiadających id statystyk - żeby później je porównać w IF i zezwolić / niezezwolić na awans.

Da się to załatwić jednym zapytaniem z JOIN?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 18:28