webForumDet fria alternativet

Problem med count

Databaser & SQL

11 svar · 335 visningar · startad av Asa

Medlem sedan dec. 20011 860 inlägg
Frågan#1

Har 2 tabeller. En där jag hämtar all spelarinfo och en där jag hämtar och räknar ihop hur många mål och assister spelarna gjort. Nu vill jag lägga ihop mål och assister och sortera efter det.

Min sql ser ut så här nu:

SELECT [b](Count(M.malID) + (Select Count(U.utvID) as x From utvisning U Where U.spelare = S.spelarID)) As antal[/b], S.namn, S.lag, S.nummer, S.spelarID 
FROM mal M Right JOIN spelare S ON M.spelare = S.spelarID GROUP BY S.namn, S.lag, S.nummer, S.spelarID ORDER BY 1 DESC,2 ASC

Det fetstilta ska säkert ändras eller allt? Hoppas ni förstår vad jag vill göra. Access databas använder jag.

Medlem sedan dec. 200012 464 inlägg
#2

Beskriv tabellen mal. Gärna lite mer utförligt än du brukar.

Vad har utvisning med det hela att göra?

Medlem sedan dec. 20011 860 inlägg
#3

Jag skrev nog fel kod. Återkommer strax!

Medlem sedan dec. 20011 860 inlägg
#4

Tabellerna ser ut så här:

spelare:
spelarID - räknare
namn - text
nummer - tal
lag - tal

mal
malID - räknare
matchNr - tal
spelare - tal
assspelare - tal
tid - text
lag - tal

Jag vill hämta namn, nummer,lag, spelarID sen ihopräkningen av antal assspelare och spelare från mal. assspelare är 0 om ingen assist är gjord. så den ska räkna ihop de som är någ annat än 0 och sen räkna hur många mål spelaren gjort.

Blev du klokare?

Medlem sedan dec. 200012 464 inlägg
#5
select namn,nummer,lag,spelarid,
(select count(*) from mal 
  where spelare = spelare.spelarid) +
(select count(*) from mal
   where assspelare = spelare.spelarid) as antal
from spelare
order by 5 desc
Medlem sedan dec. 20011 860 inlägg
#6

Hmm, den sorterar inte rätt iallafall :/

Medlem sedan dec. 200012 464 inlägg
#7

Jaså, hur då?

Medlem sedan dec. 20011 860 inlägg
#8

Kolla här:
http://gruvsjo.no-ip.com/jobb/kenta/resultat/poangliga.asp

Mest ska ju vara överst.

Medlem sedan dec. 200012 464 inlägg
#9

Stämmer siffran i order by med kolumnerna i select-listan då?

Medlem sedan dec. 20011 860 inlägg
#10

Det tror jag nog!

select namn,nummer,lag,spelarid,(select count(*) from mal 
where spelare = spelare.spelarid) + (select count(*) from mal 
where assspelare = spelare.spelarid) as antal from spelare 
order by 5 desc
Medlem sedan dec. 200012 464 inlägg
#11

Då verkar det som om det är något fel i Access.

select namn,nummer,lag,spelarid,antal
from (select namn,nummer,lag,spelarid,(select count(*) from mal 
where spelare = spelare.spelarid) + (select count(*) from mal 
where assspelare = spelare.spelarid) as antal from spelare )
order by antal desc

Blir det bättre så?

Medlem sedan dec. 20011 860 inlägg
#12

Funkar fint:) Tack!

255 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)