citt
Messages postés209Date d'inscriptiondimanche 8 juin 2003StatutMembreDernière intervention 9 février 2012
-
19 août 2008 à 10:10
citt
Messages postés209Date d'inscriptiondimanche 8 juin 2003StatutMembreDernière intervention 9 février 2012
-
21 août 2008 à 07:25
Bonjour,
Est il possible de faire des sous requêtes dans le THEN d'un case ?
J'ai des table du genre
produits
- ID
- Nom
- ID_User1
- ID_User2
user1
- ID
- Nom
user2
- ID
- Nom
soit id_user1 ou id_user2 est remplie donc j'ai fait comme requête :
SELECT
CASE
WHEN ID_User1 IS NOT NULL THEN (SELECT Nom FROM user1 WHERE ID=ID_User1)
WHEN ID_User2 IS NOT NULL THEN (SELECT Nom FROM user2 WHERE ID=ID_User2)
END as Nom
FROM produits
Mais il ne veut pas de ma syntaxe, existe t il une autre solution ?
Citt_jr
Bats toi avec les meilleurs, crève avec le reste
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 19 août 2008 à 20:00
Salut
C'est possible TOP 1 est ton ami il te faut qu'un seul enregistrement en sortie de ta sous requete
sinon
Msg 512, Level 16, State 1, Line 1
Subquery returned more than 1 value. This is not permitted when the subquery follows = , !=, <, <= , >, >= or when the subquery is used as an expression.
SELECT
CASE
WHEN ID_User1 IS NOT NULL THEN (SELECT TOP 1 Nom FROM user1 WHERE ID =ID_User1)
WHEN ID_User2 IS NOT NULL THEN (SELECT TOP 1 Nom FROM user2 WHERE ID=ID_User2)
END as Nom
FROM produits
Vous n’avez pas trouvé la réponse que vous recherchez ?
citt
Messages postés209Date d'inscriptiondimanche 8 juin 2003StatutMembreDernière intervention 9 février 20123 21 août 2008 à 07:25
ma requête de départ me retourner deux champs c'est pour cela qu'elle ne fonctionner pas, elle ressemble a c'elle de [auteur/NHERVAGAULT/84425.aspx nhervagault]
Merci encore
Citt_jr
Bats toi avec les meilleurs, crève avec le reste