select * from (
select (select count(*) from resultat
where rpoang > r.poang
and rprov = r.rprov
and rekipage = r.rekipage) + 1 as rank,
e.enamn ,p.pgrupp,r.rpoang
from resultat as r,
ekipage as e,
prov as p
where e.eid = r.ekipage
and r.rprov = p.pid ) as s
where rank <= 5
order by pgrupp asc,
rpoang desc,
enamn asc
Jaha, om du definerar en vy för den inre selecten då
create view s as
select (select count(*) from resultat
where rpoang > r.poang
and rprov = r.rprov
and rekipage = r.rekipage) + 1 as rank,
e.enamn ,p.pgrupp,r.rpoang
from resultat as r,
ekipage as e,
prov as p
where e.eid = r.ekipage
and r.rprov = p.pid
och sedan
select * from s
where rank <= 5
order by pgrupp asc,
rpoang desc,
enamn asc
.... o så kan man inte slita sig från "kodning" utan man måste ju bara "testa lite granna".
Då uppkom detta fel:
Microsoft JET Database Engine fel '80004005'
Ogiltig SQL-syntax - förväntade ett visningsnamn.
sååå, accessen fortsätter att "konstra" och vill inte ta view .....
Får kanske lösa det med logik i koden ... fast vill ju helst slippa det då det kan vara "ett par st" ekipage
jag har lekt lite mer och har nu fått fram fram en extra tabell (använde select into statement istället) och med anrop till den fått bra prestanda. Visningar med view va ingen höjdare ;e
MEN!! (alltid är det något) jag får inte till det som jag vill.
Tabellen ser ut så här och skapas dynamiskt när fler resultat har lagts till i andra tabeller.
1. Top 10 av förarnas medelpoäng från deras 5 bästa tävlingsresultat (poäng) från respektive grupp.
Om föraren ej har 5 resultat ska summan ändå delas med 5.
Om föraren har mer än 5 tävlingar så ska endast de 5 bästa tas med.
2. De fem bästa resultaten ska oxå visas tillsammans med medelpoängen.
Om föraren ej har 5 tävlingar så ska de poängen som fattas visa 0
Går det att få till en sql-fråga för ovanstående eller kanske är det bästa att lösa detta med logik i koden fast .... då kommer prestandan att suga då det kan vara x antal tusen förare i databasen =(
cya,
PatrikB
254 ms totalt · 4 externa anrop · v20260731065814-full.05830320