Autor Zpráva
spacek145
Profil
Dobrý den, mám následující MySQL příkaz, který mi to tabulky vypíše USERNAME a BALANCE (číslená hodnota) v limitu 10

$result = mysql_query("SELECT username,balance FROM svestky ORDER BY balance DESC LIMIT 10");
while($row = mysql_fetch_assoc($result)){

Problém je to, ze do tabulky se zapisuje vse malym pismenem, a jelikoz to potrebuju naspano PRESNE takze velkyma i malyma.. tak se chci zeptat, zda-li by MySQL prikazem neslo z tabulky svestky vypsat jen BALANCE a z tabulky visne PLAYER a dát do do jednoho prikazu tak, ze by vysledkem byl $row['player'] a $row['balance'] nebo podobne?

Jde to?

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
POUZE PRIKLADY!

Tabulka: svestky
-------------------------------------
USERNAME BALANCE
-------------------------------------
marruska 50


Tabulka: Visne
-------------------------------------
PLAYER SKUPINA
-------------------------------------
MarrUSka mestan
Str4wberry
Profil
A existují nějaké sloupce, podle kterých by mohlo jít tabulky propojit?
spacek145
Profil
bohužel ne.
DJ Miky
Profil
Pokud ty tabulky jdou propojit podle jmen (která jsou v obou tabulkách stejná, jen se liší velikostí písmen), tak by to bylo např.:

SELECT v.player, s.balance
FROM svestky s
JOIN visne v
    ON (LOWER(s.username) = LOWER(v.player))
ORDER BY s.balance DESC
LIMIT 10

Ale kvůli výkonu by bylo vhodnější přidat nějaké ID a propojovat podle něj.
spacek145
Profil
ano. presne tak... zkusím to


a ještě dotázek: v tom ".$row['player']." to mám použít takhle? nebo tam mam dát v.player? nebo jinak...
nedaří se mi ty vytažená data správně dostat do row
Tori
Profil
Jaké je na těch sloupcích nastavené porovnávání? Zkoušel jste, jestli nebude přeci jen fungovat obyčejné svestky s JOIN visne v ON s.username = v.player?
Pokud ne, tak se dá při spojování tabulek nastavit jiné porovnávání (pro oba porovnávané sloupce musí být stejné):
svestky s JOIN visne v ON s.username COLLATE utf8_czech_ci = v.player COLLATE utf8_czech_ci --> mAruSKa == maruska
svestky s JOIN visne v ON s.username COLLATE utf8_general_ci = v.player COLLATE utf8_general_ci --> máRuŠKä == maruska

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0