Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
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 23/06/2008, 22h10   #1
Futur Membre du Club
 
Développeur informatique
Inscription : mai 2008
Messages : 103
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mai 2008
Messages : 103
Points : 17
Points : 17
Par défaut Requête Update avec requête imbriquée

Bonjour,

Je souhaiterais faire une requête du genre :

update Table1 A
set ChampA2 = (select ChampB1 from TableB B where B.ChampB1=A.ChampA1)

Je sais que ma 2ème requête imbriquée peut me renvoyer plusieurs lignes (ou aucune), et c'est pour cela que SQL Server refuse cette requête.
Mais dans mon cas précis, je sais que ma requête me renverra qu'un et un seul élément...

Quelqu'un aurait-il la solution ?

Merci d'avance.

Sybaris
sybaris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2008, 10h08   #2
Membre Expert
 
Inscription : juin 2007
Messages : 1 056
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 1 056
Points : 1 078
Points : 1 078
Bonjour,

essayez ceci :

Code :
1
2
3
4
UPDATE Table1
FROM Table1 A, Table2 B
SET ChampA2 = B.ChampB1
WHERE B.ChampB1=A.ChampA1
__________________
Emmanuel T.
kagemaru est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2008, 12h51   #3
Futur Membre du Club
 
Développeur informatique
Inscription : mai 2008
Messages : 103
Détails du profil
Informations personnelles :
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mai 2008
Messages : 103
Points : 17
Points : 17
Bonjour,

Merci pour la réponse.
La syntaxe indiquée n'a pas fonctionné pour moi, mais elle m'a mis sur la piste.
Voilà la requete qui a fonctionné pour moi :

Code :
1
2
3
4
UPDATE Table1 
SET ChampA1 = B.ChampB1
FROM Table1
LEFT OUTER JOIN Table2 B ON ChampA2 = B.ChampB2
Merci encore.

Sybaris
sybaris est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h23.


 
 
 
 
Partenaires

Hébergement Web