Ik heb weer een probleempje/vraagje...
Ik heb de volgende query, welke grotendeels werkt:
Deze telt het aantal gewonnen wedstrijden in een tabel per speler. In deze tabel staan subwedstrijden met o.a. de velden player1 en player2. player1 is altijd ingevuld, player2 alleen als de wedstrijd een dubbelpartij is. (Door regel 48)
Bovenstaande query telt alléén de gewonnen wedstrijden, wanneer iemand zowel player1 als player2 is geweest (in verschillende wedstrijden).
Klinkt allemaal erg vaag, maar het komt hierop neer:
Er zijn twee subquery's (r10-28 en r29-47) die beiden output geven met exact dezelfde velden. Eigenlijk wil ik gewoon de uitkomsten van deze twee queries samenvoegen in dezelfde kolommen en daarna groupen op id. Hoe kan ik dit doen?
Ik heb de volgende query, welke grotendeels werkt:
SQL:
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
| SELECT p1.id AS id, p1.voornaam AS voornaam, p1.tussenvoegsel AS tussenvoegsel, p1.achternaam AS achternaam, p1.wedstrijden + p2.wedstrijden AS wedstrijden, p1.gewonnen + p2.gewonnen AS gewonnen, (p1.gewonnen + p2.gewonnen) / (p1.wedstrijden + p2.wedstrijden) * 100 AS ratio FROM ( SELECT l1.id AS id, l1.voornaam AS voornaam, l1.tussenvoegsel AS tussenvoegsel, l1.achternaam AS achternaam, count(*) AS wedstrijden, sum(sw1.result) AS gewonnen FROM wedstrijden AS w1, subwedstrijden AS sw1, teams AS t1, leden AS l1 WHERE w1.id = sw1.team_match AND l1.id = sw1.player1 AND t1.id = w1.team AND t1.competition = '4' GROUP BY l1.id ) AS p1, ( SELECT l2.id AS id, l2.voornaam AS voornaam, l2.tussenvoegsel AS tussenvoegsel, l2.achternaam AS achternaam, count(*) AS wedstrijden, sum(sw2.result) AS gewonnen FROM wedstrijden AS w2, subwedstrijden AS sw2, teams AS t2, leden AS l2 WHERE w2.id = sw2.team_match AND l2.id = sw2.player2 AND t2.id = w2.team AND t2.competition = '4' GROUP BY l2.id ) AS p2 WHERE p1.id = p2.id ORDER BY ratio DESC |
Deze telt het aantal gewonnen wedstrijden in een tabel per speler. In deze tabel staan subwedstrijden met o.a. de velden player1 en player2. player1 is altijd ingevuld, player2 alleen als de wedstrijd een dubbelpartij is. (Door regel 48)
Bovenstaande query telt alléén de gewonnen wedstrijden, wanneer iemand zowel player1 als player2 is geweest (in verschillende wedstrijden).
Klinkt allemaal erg vaag, maar het komt hierop neer:
Er zijn twee subquery's (r10-28 en r29-47) die beiden output geven met exact dezelfde velden. Eigenlijk wil ik gewoon de uitkomsten van deze twee queries samenvoegen in dezelfde kolommen en daarna groupen op id. Hoe kan ik dit doen?