UPDATE à partir de données d'une autre table
Bonjour,
Je suis en train d'alimenter la base de données d'une application web de gestion de projet. Je récupère mes informations de fichier Excel. Pas vraiment de problème pour l'import dans une table temporaire ("rsmequip") avec la commande \copy. Jusque là, tout vas bien.
Seulement, mes données sont en vrac dans le fichier Excel et j'ai du mal à y mettre un peu d'ordre. Alors j'ai décidé de procéder champs par champs pour alimenter ma table finale.
Je travaille donc dans temp_projet (je sais, ça fait beaucoup de temporaire mais c'est juste le temps de bien comprendre le cheminement)
je récapitule :
- la table RSMEQUIP récupère les données, en vrac, du fichier Excel;
- la table TEMP_PROJET est une version simple (sans contrainte de clé) de ma table finale
J'ai déjà insérer les données les plus simples (qui ne sont pas en double) dans ma table TEMP_PROJET.
J'aimerais maintenant, par exemple, mettre à jour le champ placinvest :
- récupérer la valeur de placinvest dans la table RSMEQUIP
- mettre à jour la table TEMP_PROJET avec cette valeur
Quelque chose comme :
Code:
1 2 3 4
| UPDATE TEMP_PROJET set placinvest=(
select RSMEQUIP.placinvest
from RSMEQUIP, TEMP_PROJET
where TEMP_PROJET.codepsn=RSMEQUIP.code) |
seulement j'ai l'erreur suivante : "ERROR: more than one row returned by a subquery used as an expression" ce qui, si je comprends bien, veut dire que j'ai plusieurs valeurs pour cette condition... Mais même en rajoutant une deuxième condition sur le libellé du projet (unique pour chaque projet), j'ai toujours la même erreur..
J'espère être claire .. Je suis aussi un peu rouillée en SQL...
Merci d'avance et bonne journée
PS : Base PostGre - PGAdmin III