select user.username, pix.point as pixpoint, source.point as sourcepoint from username,pix, source where pix.username=username.username and source.username=user.username
SELECT user.username, pix.point pixpoint, source.point sourcepoint from (user left join pix on user.username=pix.udgiver) left join source on user.username=source.udgiver;
Så burde du også få dem med, som mangler points i den ene kategori...
proaccess: den siger Parse error... Er det her ikke rigtigt ?
$query = mysql_query(\"SELECT users.username, pix.point pixpoint, source.point sourcepoint from (users left join pix on users.username=pix.udgiver) left join source on users.username=source.udgiver\");
select user.username, pix.point as pixpoint, source.point as sourcepoint from username,pix, source where pix.udgiver=username.username and source.udgiver=user.username
forresten har left join det med at give dårligere performance i nogle tilfælde, så bare drop dem.
SELECT user.username, pix.point pixpoint, source.point sourcepoint from user (left join pix n user.username=pix.udgiver) left join source on user.username=source.udgiver;
Først oprettede du spørgsmålet i PHP-gruppen. Efter at have vist dig et stykke af vejen anbefalede jeg dig at flytte spørgsmålet her over. Det gjorde du egentlig ikke, du oprettede ca. det samme spørgsmål igen. Hvis du nu henviste til det gamle spørgsmål, eller fortalte hvad vi var nået frem til, så kunne vi arbejde videre, i stedet for at starte forfra.
Prøv at vise den SQL jeg lavede til dig i sidste spørgsmål. Fortæl hvad den gør, så er der nok én der kan tilpasse den, så den gør det rigtige i stedet.
(Som jeg sagde i det andet spørgsmål var det ikke den endelige løsning, men det er et stykke af vejen)
SELECT users.username, Sum(pix.point) pixpoint, sum(source.point) sourcepoint from users left join pix on users.username=pix.udgiver left join source on users.username=source.udgiver group by users.username;
Fjern paranteserne, og bestem dig for om din tabel hedder \"user\" eller \"users\"...
SELECT users.username, SUM(pix.point) AS pixpoint, SUM(source.point) AS sourcepoint FROM users LEFT JOIN pix ON users.username=pix.udgiver LEFT JOIN source ON users.username=source.udgiver GROUP BY users.username ORDER BY pixpoint DESC;
Jeg har indsat \"AS\" for at vise lidt tydeligere hvad der foregår, og så har jeg skrevet al MySQL med stort (af samme årsag). Og så har jeg såmen bare sat en almindelig dødelig ORDER BY ind...
Du kan måske tilføje en kolonne mere, som er point ialt. Så kan du også sortere efter den. Hmmm... ADD(pixpoint, sourcepoint) AS pointialt Måske... Gider ikke lige slå det op. :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.