Requete

Fermé
adideort - 19 févr. 2009 à 09:59
NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 - 19 févr. 2009 à 11:33
Bonjour,

-----------------------------
| CUR | NOM | CUR_NOUVEAU |
-----------------------------
| CUR1 | NOM1 | |
| CUR2 | NOM1 | |
| CUR3 | NOM1 | CUR_NEW_3 |
| CUR4 | NOM1 | CUR_NEW_4 |
-----------------------------

Comment faire un update pour obtenir les données ci dessous :

-----------------------------
| CUR | NOM | CUR_NOUVEAU |
-----------------------------
| CUR1 | NOM1 | CUR_NEW_3 |
| CUR2 | NOM1 | CUR_NEW_4 |
| CUR3 | NOM1 | CUR_NEW_3 |
| CUR4 | NOM1 | CUR_NEW_4 |
-----------------------------

La difficulté est la suivante
Comment faire un update en fonction du nom ..?
UPDATE table t1 SET CUR =
SELECT CUR_NOUVEAU
FROM table t2 WHERE
t1.nom = t2.nom

Il ne faut pas que la ligne CUR2 est un CUR_NOUVEAU=CUR_NEW_4.

Sous oracle 9i!

Merci pour vos réponses !

2 réponses

NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 514
19 févr. 2009 à 10:03
Je n'arrive pas à comprendre la logique derrière la modification.
Quelle est la règle?

Parce que selon le nom c'est pas très clair puisque le même nom peut avoir plusieurs cur et cur_nouveau :s
0
Justement il faut update la premiere ligne (CUR1) avec le CUR_NEW_3
Et puisque le CUR_NEW_3 est déjà utilisé la seconde ligne (CUR2) doit etre updaté avec le CUR_NEW_4...

Merci en tout cas d avoir pris le temps de répondre!
0
Petite erreure sur la requête UPDATE
Il faut bien update la colonne CUR_NOUVEAU et non pas CUR

UPDATE TABLE t1 SET CUR =
SELECT CUR_NOUVEAU
FROM TABLE t2 WHERE
t1.nom = t2.nom
0
NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 514
19 févr. 2009 à 11:23
Ce serait quelque chose comme ça alors ?
UPDATE TABLE t1 SET CUR_NOUVEAU =
SELECT CUR_NOUVEAU
FROM TABLE t2 WHERE
t1.nom = t2.nom and CUR_NOUVEAU NOT NULL
0
adideort > NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013
19 févr. 2009 à 11:28
Oui mis cette requete fait que CUR_2 = CUR_NOUVEAU_3
Et pas CUR_NOUVEAU_4 !
0
NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 514 > adideort
19 févr. 2009 à 11:33
Y'a pas des règles supplémentaires utilisable dans votre table?
Parce que là franchement sans condition plus explicite j'ia peur de ne rien pouvoir faire :s
0