22. juli 2009 - 12:23Der er
3 kommentarer og 1 løsning
Hjælp til SQL Query
Hej alle!
Dette er hvad jeg har (af hvad der er relevant for spørgsmålet): tournaments: id, name, game games: shortname, icon matches: tournament, date
Jeg vil gerne sortere efter hvilken turnering der har næste kamp, tidligste først. Den query jeg pt. er kommet frem til ser således ud:
{SQL} SELECT t.id, t.name, t.game, g.icon , m.date FROM tournaments AS t LEFT JOIN games AS g ON t.game=g.shortname LEFT JOIN matches as m ON (t.id=m.tournament AND m.date>'{$now}') GROUP BY t.id ORDER BY m.date ASC {/SQL}
Der sorterer den jo bare ikke kampene, og det er her min SQL-viden siger til mig: "Det her kan du ikke finde ud af, spørg på Eksperten"
Jeg tror godt at du kan undgå at bruge LEFT JOIN hvis du skriver noget i denne her retning:
SELECT t.id, t.name, g.shortname, m.date FROM tournaments AS, games AS g, matches AS m WHERE t.id=m.tournament and g.id=t.name and m.date>=NOW() ORDER by m.date
Jeg er lidt i tvivl om hvordan du linker dine tabeller sammen, men du kan jo kommentere mit forslag.
MVH Lars
Synes godt om
Slettet bruger
22. juli 2009 - 14:42#2
Super, nu virker det - sådan her: SELECT t.id, t.name, t.game, g.icon, g.shortname, m.date FROM tournaments AS t, games AS g, matches AS m WHERE g.shortname=t.game AND m.tournament=t.id AND m.date>'{$now}' GROUP BY t.id ORDER by m.date
Hvis jeg nu også vil have antal kampe (matches), hvor date er mindre end nu, og result='0' - hvordan skal den så barberes? Altså: date<'{$now}' AND result='0'
Mvh :)
Synes godt om
Slettet bruger
22. juli 2009 - 17:12#3
Nevermind fandt en anden måde at gøre det på, smider du et svar?
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.