webForumDet fria alternativet

Hjälp med SQL fråga

6 svar · 336 visningar · startad av Alpha II

Alpha IIMedlem sedan maj 20002 579 inlägg
#1

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"

LarsGMedlem sedan dec. 200012 465 inlägg
#2
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

Alpha IIMedlem sedan maj 20002 579 inlägg
#3

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.

@ndersMedlem sedan juni 200026 914 inlägg
#4

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

Alpha IIMedlem sedan maj 20002 579 inlägg
#5

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.

@ndersMedlem sedan juni 200026 914 inlägg
#6

Använd Left outer join istället för inner join.

(Hur gick det med mitt case-försök ovan?)

Alpha IIMedlem sedan maj 20002 579 inlägg
#7

@nders skrev:

(Hur gick det med mitt case-försök ovan?)

Det funkade perfekt! :D

Ska testa left outer nu.

Genererad på 387 ms · cache AV · v20260730165559-full.f96bc7eb