Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL > Requêtes
Requêtes Forum d'entraide sur les requêtes SQL spécifiques à PostgreSQL, les triggers, les vues, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/03/2011, 16h38   #1
Invité de passage
 
Inscription : mars 2007
Messages : 31
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 31
Points : 1
Points : 1
Par défaut Fusionner deux tables

Bonjour,

j'aimerais compléter une table qu'on va appeler T1 à partir d'une table de même structure T2.
Exemple :
T1 a les champs num,dat,val1,val2,val3,...,val100
T2 a les mêmes champs.

Dans T1 j'ai un certain nombre de lignes avec des trous.
Dans T2, j'ai des lignes dont les données ne sont pas forcément dans T1 ; j'aimerais compléter T1 à partir des valeurs de T2 (pour un même couple (num,dat)).

exemple :
j'ai dans T1 une ligne avec (num,dat)=(1,'2011-03-01') et val1=0 et les autres à NULL.
j'ai dans T2 une ligne avec (num,dat)=(1,'2011-03-01') et val1=NULL, val2=10, val5=90, val15=9.
Je veux obtenir dans T1 la même ligne avec toutes les valeurs. Idem pour les autres lignes.

Comment puis-je faire ça?

Merci d'avance!
yoyostras est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/03/2011, 17h40   #2
Modérateur
 
Inscription : octobre 2008
Messages : 1 505
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 1 505
Points : 2 034
Points : 2 034
Ca doit être faisable avec un UPDATE corrélé, du style:
Code :
1
2
3
4
5
UPDATE T1 SET val1=T2.val1, val2=T2.val2 etc...
FROM T2
WHERE T1.clef_primaire=T2.clef_primaire
AND T1.val1=0
AND... autres conditions...
estofilo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h33.


 
 
 
 
Partenaires

Hébergement Web