drozdz88
26.02.2013, 11:51:04
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
nospor
26.02.2013, 11:54:13
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
drozdz88
26.02.2013, 12:10:49
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
nospor
26.02.2013, 12:12:30
(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
drozdz88
26.02.2013, 12:31:25
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'
nospor
26.02.2013, 12:37:53
skoro ranking nazwales A to używaj tej nazwy a nie ranking....
drozdz88
26.02.2013, 12:53:43
WIELKIE DZIEKI ZA POMOC
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.