webForumDet fria alternativet

Grupperingar hit och dit

6 svar · 212 visningar · startad av dekt

dektMedlem sedan jan. 2001101 inlägg
#1

Databas: Access.

Jag bygger en statistiksida för ett jaktlagsområde. Detta område är uppdelat på två "Riken", som var och en har flera delområden. Varje delområde har flera jaktlag.

Alltså: Rike, Område, Jaktlag.

Jägarna har ett system som kallas Älgobs, där de 7 första dagarna för varje jaktlag ska rapporteras in speciellt...

Hur får man en total älgobs för ett rike?
Ganska enkelt att fixa "de 7 första dagarna där jaktlag -> område och område -> rike" men då blir det inte de 7 första för varje jaktlag.

Det blir bara första dagen för 7 st jaktlag.

Tabeller:
Riken(ID, Titel)
Omroden(ID, Titel, Rike)
Jaktlag(ID, Titel, Omrode)
Dagar(ID, Jaktlag, Skjutna, Observerade)

LarsGMedlem sedan dec. 200012 464 inlägg
#2
select * from dagar d
where id in (select top 7 id from dagar
where jaktlag = d.jaktlag 
order by id)
dektMedlem sedan jan. 2001101 inlägg
#3

hmm, det tar ju inte hänsyn till varken område eller rike?

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Vad är det för data du vill ha fram? Exemplifiera gärna.

dektMedlem sedan jan. 2001101 inlägg
#5

Jag vill ha det totala antalet skjutna och observerade älgar, för ett visst rike (ex. variabeln "RikeID" i ASP).

Det ska vara de 7 första dagarna för alla jaktlag i detta rike, men INTE de 7 första dagarna för riket. Det blir ju fler om man tar varje jaktlags 7 första dagar för sig... det går ju att fixa i ASP, men det är nog krävande om jaktlagen är många.

dektMedlem sedan jan. 2001101 inlägg
#6

Ex. Rike "Apdjungeln"
- Område "Skogen"
-- Jaktlag "Lag nord"
-- Jaktlag "Lag syd"
- Område "Berget"
-- Jaktlag "Lag öst"
-- Jaktlag "Lag väst"

Alla lag har 10 dagar vardera. 7 av dessa (för varje lag) ska summeras ända upp till Rike-nivån. Det blir då totalt 7x4 dagar att addera ihop.

LarsGMedlem sedan dec. 200012 464 inlägg
#7
select r.titel,o,titel, j.titel,sum(skjutna),sum(observerade)
 from ((dagar d inner join jaktlag j on d.jaktlag = j.id)
inner join omraden o on j.omrade = o.id )
inner join rike r on o.rike = r.id
where d.id in (select top 7 id from dagar
where jaktlag = d.jaktlag 
order by id)
group by r.titel,o,titel,j.titel
130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)