Ik heb gisteren mijn PostgreSQL server geupgrade van v7.2.4 naar v7.4.1.
De gehele website die gebruik maakt van de data in de PostgreSQL database werkt nog prima. Er is echter wel een probleempje met een update script waarin een paar (sub)queries worden uitgevoerd.
Het script haalt gegevens uit een tabel 'wedstrijden', voert vervolgens een paar berekeningen uit en plaatst de uitkomsten van de berekeningen in de tabel 'standen'.
Hieronder een gedeelte uit de query die goed werkt in v7.2.4, maar nu niet meer in v7.4.1.
De database server geeft na het uitvoeren van de query deze melding terug:
Het probleem heeft dus iets te maken met de subquery die ik gebruik.
Weet iemand wat ik fout doe:?
Ik kan me bijna niet voorstellen dat Postgres niet meer overweg kan met deze subqueries, die in 7.2 nog wel goed was.
De gehele website die gebruik maakt van de data in de PostgreSQL database werkt nog prima. Er is echter wel een probleempje met een update script waarin een paar (sub)queries worden uitgevoerd.
Het script haalt gegevens uit een tabel 'wedstrijden', voert vervolgens een paar berekeningen uit en plaatst de uitkomsten van de berekeningen in de tabel 'standen'.
Hieronder een gedeelte uit de query die goed werkt in v7.2.4, maar nu niet meer in v7.4.1.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| SELECT team_naam, team_id, wpim, ( SELECT count(thuis_uitslag) FROM wedstrijden WHERE (thuis_wed = t.team_id OR uit_wed = t.team_id) AND seizoen_id = 3 AND klasse_id = 1) AS wd, ( SELECT count(t.team_id) FROM wedstrijden w WHERE (thuis_wed = t.team_id AND thuis_uitslag > uit_uitslag OR uit_wed = t.team_id AND thuis_uitslag < uit_uitslag) AND seizoen_id = 3 AND klasse_id = 1 ) AS gw FROM teams t WHERE seizoen_id = 3 AND klasse_id = 1 GROUP BY t.team_naam, t.team_id, t.team_id, t.wpim"; |
De database server geeft na het uitvoeren van de query deze melding terug:
code:
1
2
| SQL error: ERROR: more than one row returned by a subquery used as an expression |
Het probleem heeft dus iets te maken met de subquery die ik gebruik.
Weet iemand wat ik fout doe:?
Ik kan me bijna niet voorstellen dat Postgres niet meer overweg kan met deze subqueries, die in 7.2 nog wel goed was.
[ Voor 8% gewijzigd door Verwijderd op 26-02-2004 01:51 ]