Jag skulle vilja om det går, att samtidigt i en enkel SELECT fråga ta reda på hur många poster det finns i en annan tabell där den andra tabellens id är samma som den första tabellens fält 'lanid'.
"SELECT * FROM lan ORDER BY date desc"
6 svar · 336 visningar · startad av Alpha II
Jag skulle vilja om det går, att samtidigt i en enkel SELECT fråga ta reda på hur många poster det finns i en annan tabell där den andra tabellens id är samma som den första tabellens fält 'lanid'.
"SELECT * FROM lan ORDER BY date desc"
select lan.c1,lan.c2,lan.c3,count(*)
from lan inner join annantabell
on lan.lanid = annantabell.id
group by lan.c1,lan.c2,lan.c3
Flyttas från MYSQL
Det funkar bra :)
Jag har en till SQL-fråga som jag har lite problem med att få att fungera som jag vill.
select users.id, users.username, users.lastname, users.firstname, users.clan
from users inner join lansubmits
on users.id = lansubmits.userid
where lansubmits.lanid = $_GET[lanid]
order by users.clan asc, users.lastname asc, users.firstname asc
Jag vill att de som har angivit en klan (users.clan) skall placeras först i listan.
Jag är inte helt hundra på case-syntaxen för MySQL, men så här hade jag försökt:
...
order by case when users.clan <> '' then 0 else 1 end asc, users.clan asc, users.lastname asc, users.firstname asc
Mvh
Jag fortsätter på den här tråden då det handlar om ungefär samma sak :)
select lan.id, lan.status, lan.date, lan.location,
lan.seats, lan.description, lan.cost, count(lansubmits.id) as b_seats
from lan inner join lansubmits
on lansubmits.lanid = lan.id
group by lan.id, lan.status, lan.date, lan.location,
lan.seats, lan.description, lan.cost
order by lan.date desc
Använder den här queryn när jag radar upp alla lan. Problemet är att när det inga finns några anmälningar till ett lan så dyker inte det lanet upp i listan.
@nders skrev:
(Hur gick det med mitt case-försök ovan?)
Det funkade perfekt! :D
Ska testa left outer nu.