Bonjour,
J'ai une table R_TRONCO dont je dois mettre à jour le champ INSEE_co d'après une table R_VOIE. Le modèle est dans le fichier pdf joint.
Je ne souhaite mettre à jour que les enregistrements sur lesquels j'ai constaté une incohérence.
J'ai donc la requête suivante :
Et là, j'obtiens comme mesage d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 UPDATE A_REIMS.R_TRONCO SET A_REIMS.R_TRONCO."INSEE_co" = (SELECT R_VOIE.CODCOM FROM ( ( A_REIMS.R_VOIE_RELATION R_VOIE_RELATION INNER JOIN A_REIMS.R_TRONCO R_TRONCO ON (R_VOIE_RELATION.GID_A = R_TRONCO.GID)) INNER JOIN A_REIMS.R_VOIE R_VOIE ON (R_VOIE.GID = R_VOIE_RELATION.GID_D)) INNER JOIN A_REIMS.R_TRONCO_RELATION R_TRONCO_RELATION ON (R_TRONCO_RELATION.GID_A = R_VOIE.GID) AND (R_TRONCO.GID = R_TRONCO_RELATION.GID_D) WHERE (R_TRONCO."INSEE_co" != R_VOIE.CODCOM) AND (R_TRONCO_RELATION.CLASS = 'R_VOIE') AND (R_VOIE_RELATION.CLASS = 'R_TRONCO') AND R_TRONCO.GID != 851) WHERE A_REIMS.R_TRONCO.GID IN ( (SELECT R_VOIE.CODCOM FROM ( ( A_REIMS.R_VOIE_RELATION R_VOIE_RELATION INNER JOIN A_REIMS.R_TRONCO R_TRONCO ON (R_VOIE_RELATION.GID_A = R_TRONCO.GID)) INNER JOIN A_REIMS.R_VOIE R_VOIE ON (R_VOIE.GID = R_VOIE_RELATION.GID_D)) INNER JOIN A_REIMS.R_TRONCO_RELATION R_TRONCO_RELATION ON (R_TRONCO_RELATION.GID_A = R_VOIE.GID) AND (R_TRONCO.GID = R_TRONCO_RELATION.GID_D) WHERE (R_TRONCO."INSEE_co" != R_VOIE.CODCOM) AND (R_TRONCO_RELATION.CLASS = 'R_VOIE') AND (R_VOIE_RELATION.CLASS = 'R_TRONCO') AND R_TRONCO.GID != 851))
Que faire ? Je pensais avoir évacuer le double résultat en ajoutant R_TRONC.GID != 851.Error 25/05/2009 11:20:16 0:00:00.000 Toad for Data Analysts: ORA-01427: single-row subquery returns more than one row 1 57
D'avance, merci,
Partager