Stand na query uit uitslagentabel + sorteren van de stand
R R
23/08/2010 21:22:21Deze query gebruik ik om de standen te tonen na een select uit een uitslagentabel. Ik krijg wel de stand, maar de query duurt 'te lang'. Is het mogelijk om de sub-querys in te korten? Voor mijn gevoel zijn deze te lang en duurt het daarom te lang.
Het eerste gedeelte ik om de resultaten van de thuisspelende club op te halen en het tweede gedeelte voor de uitspelende club.
Tweede probleempje is dat ik de punten aan de hand van de gewonnen en gelijk gespeelde wedstrijden laat uitrekenen na de query. Hoe krijg ik nu de stand goed gesorteerd? Dus degene met de meetse punten bovenaan?
Het eerste gedeelte ik om de resultaten van de thuisspelende club op te halen en het tweede gedeelte voor de uitspelende club.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
$sql = "SELECT u.thuis,u.uit,
t.klasse,t.teamnaam,t.teamid,t.compid,
(select sum(u2.thw) from uitslagentest u2
where u2.thuis=t.compid) as gewt,
(select sum(u2.gel) from uitslagentest u2
where u2.thuis=t.compid) as gelt,
(select sum(u2.gespeeld) from uitslagentest u2
where u2.thuis=t.compid) as gespt,
(select sum(u2.thuisg) from uitslagentest u2
where u2.thuis=t.compid) as gesct,
(select sum(u2.uitg) from uitslagentest u2
where u2.thuis=t.compid) as tegent,
(select sum(u2.uitw) from uitslagentest u2
where u2.uit=t.compid) as gewu,
(select sum(u2.gel) from uitslagentest u2
where u2.uit=t.compid) as gelu,
(select sum(u2.gespeeld) from uitslagentest u2
where u2.uit=t.compid) as gespu,
(select sum(u2.uitg) from uitslagentest u2
where u2.uit=t.compid) as gescu,
(select sum(u2.thuisg) from uitslagentest u2
where u2.uit=t.compid) as tegenu
FROM uitslagentest u,teams t
'
group by t.compid
";
t.klasse,t.teamnaam,t.teamid,t.compid,
(select sum(u2.thw) from uitslagentest u2
where u2.thuis=t.compid) as gewt,
(select sum(u2.gel) from uitslagentest u2
where u2.thuis=t.compid) as gelt,
(select sum(u2.gespeeld) from uitslagentest u2
where u2.thuis=t.compid) as gespt,
(select sum(u2.thuisg) from uitslagentest u2
where u2.thuis=t.compid) as gesct,
(select sum(u2.uitg) from uitslagentest u2
where u2.thuis=t.compid) as tegent,
(select sum(u2.uitw) from uitslagentest u2
where u2.uit=t.compid) as gewu,
(select sum(u2.gel) from uitslagentest u2
where u2.uit=t.compid) as gelu,
(select sum(u2.gespeeld) from uitslagentest u2
where u2.uit=t.compid) as gespu,
(select sum(u2.uitg) from uitslagentest u2
where u2.uit=t.compid) as gescu,
(select sum(u2.thuisg) from uitslagentest u2
where u2.uit=t.compid) as tegenu
FROM uitslagentest u,teams t
'
group by t.compid
";
Tweede probleempje is dat ik de punten aan de hand van de gewonnen en gelijk gespeelde wedstrijden laat uitrekenen na de query. Hoe krijg ik nu de stand goed gesorteerd? Dus degene met de meetse punten bovenaan?
Er zijn nog geen reacties op dit bericht.