select kursnamn,count(a.kursnr) as antal
from kursprogram k left outer join anmalning a
on k.kursnr = a.kursnr
group by k.kursnr
Flyttas från ASP
Databaser & SQLur Databashanterare & SQL
7 svar · 375 visningar · startad av MrMojo
Hallå. Någon som är smartare än mig? Tvekar inte en sekund på det!
Mitt problem. Jag har 2 tabeller i en accessdatabas. Den ena tabellen innehåller ett kursprogram, den andra tar emot anmälningar till kurserna.
Hur gör jag om jag vill ha en automatisk räkning på antal anmälningar till respektive kurs? Jag vill kunna visa brevid varje kursnr hur många som är anmälda till just den kursen.
På något vis måste man plocka kursnr från tabell 1 och sen jämföra med tabell 2. Finns då kursnumret i tabell 2 så räknas den posten. Sen ska totala summan visas. Men hur gör man det i kodväg?
Någon som fattar vad jag menar?
select kursnamn,count(a.kursnr) as antal
from kursprogram k left outer join anmalning a
on k.kursnr = a.kursnr
group by k.kursnr
Flyttas från ASP
Ok, jag blev flyttad och fattar noll i alla fall. Skit också! :(
Eller, den räknar... MEN hur får jag den att visa rätt antal vid rätt kurs. Kurserna visas i en tabell som loopas. Här är koden som räknar:
SELECT count (anmalningar.kurs) as antal
FROM kurs left outer join Anmalningar
on kurs.kursnr = anmalningar.kurs
group by kurs.kursnr
I LarsGs exempel finns ju kursnamn med i SELECT-frågan. Du måste ju ha med något så du kan skilja på kurserna?!?
Hopp! Det är det som är problemet. Hur tusan får jag in så att det är rätt kurs som kommer fram? Som ni märker är jag inte speciellt snabb... :r
Jag antar att 'kursnamn' är kursen han vill ha fram. Men det värdet vill jag att det automatiskt ska hämtas från tabellen... Öh... undrar om jag förklarar bra? :OO
(och fattar nåt alls)
Du får både kursnamn och antal anmälningar i samma fråga.
Då du inte har beskrivit dina tabeller så gissade jag lite.
Ok, fick det att funka! Tack!