Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Ranking z wykorzystaniem wartosci z dwoch tabel
drozdz88
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 26.02.2013

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


Witam,

Chialbym stworzyc VIEW wykorzystujac dane z dwoch tabelek i zrobic ich ranking, chcialbym wykorzystac to do gry.

Pierwsza tabelka USERS zawiera

USERID
USERNAME
PASSWORD

Druga tabelka RANKING zawiera

SCOREID
USERID
TOTALPOINTS.

Doszedlem do moment gdzie potrawie wyciagnac informacje z tabelki RANKING (USERID, TOTALPOINTS) i uzyskac z tego ranking problem w tym ze zamisat USERID chcialbym uzyc USERNAME i tutaj mam juz problem, probowalem uzywac JOINS ale caly czas wyskakuja mi jakies bledy albo mam duplikacje wierszy. Ponizej zamieszczam kod ktory pozwala mi stworzyc to pierwsze.

CREATE VIEW RANK AS
SELECT USERID , TOTALPOINTS,
(select count(1) from RANKING b
where b.TOTALPOINTS > a.TOTALPOINTS) +1 as RANK
FROM RANKING as a
ORDER BY RANK;

Prosze pomożcie mi z tym


Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Manual mysql -> JOIN . Masz to bardzo dobrze udokumentowane na przykładach. Jeśli masz jakieś problem z dodaniem JOIN, to pokaż kod oraz błąd jaki dostajesz


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
drozdz88
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 26.02.2013

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


To jest moj kod, pewnie robie tutaj straszliwa glupote ale juz nie wiem co zrobic

CREATE VIEW RANK1 AS
SELECT USERS.USERID , RANKING.TOTALPOINTS,
(select count(1) from RANKING b
where b.TOTALPOINTS > a.TOTALPOINTS) +1 as RANK
FROM RANKING LEFT JOIN (USERS) ON (USERS.USERID = RANKING.USERID) as a
ORDER BY RANK

a blad jest gdzie w sytaxie

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'as a ORDER BY RANK' at line 5

Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




(USERS.USERID = RANKING.USERID) as a
te as a to niby co to ma być?
as daje się bezpośrednio po nazwach tabel a nie gdzieś indziej


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
drozdz88
post
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 26.02.2013

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




CREATE VIEW RANK1 AS
SELECT USERNAME , TOTALPOINTS,
(select count(1) from RANKING b
where b.TOTALPOINTS > a.TOTALPOINTS) +1 as RANK
FROM RANKING as a LEFT JOIN (USERS) ON (USERS.USERID = RANKING.USERID)
ORDER BY RANK

#1054 - Unknown column 'RANKING.USERID' in 'on clause'
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




skoro ranking nazwales A to używaj tej nazwy a nie ranking....


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
drozdz88
post
Post #7





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 26.02.2013

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


WIELKIE DZIEKI ZA POMOC
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 Aktualny czas: 20.08.2025 - 09:11