Requête répond OUI ou NON

Résolu
Étienne9 Messages postés 1022 Date d'inscription   Statut Membre Dernière intervention   -  
Doctor C Messages postés 627 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

J'ai deux tables, Mannequin et Tenue.
Dans Mannequin il y a sa taille qu'il peut porter.
Dans Tenue il y a la taille de la tenue.

Je veux que ça me dise OUI ou que ça me dise NON selon si le mannequin 3 peut porter la tenue 2.

Voici ma requête, apparemment le résultat est bon mais ça m'affiche deux fois donc j'ai dû mal faire ma requête :

Select case when

(Select Taille_Vetement from Mannequin m2 where NumMan = 3)
=
(Select Taille_Tenue from Tenue t2 where t2.NumTenue = 2)

then 'Oui' else 'Non' end

from Mannequin m3, Tenue t3 where m3.NumMan = t3.NumMan and t3.NumMan = 2;

Merci beaucoup d'avance.

2 réponses

Doctor C Messages postés 627 Date d'inscription   Statut Membre Dernière intervention   398
 
Tu effectues un peu de travail superflu en faisant 3 requêtes SELECT.

Je trouve que la requête suivante est toutefois beaucoup plus simple:

SELECT 
	CASE
		when m.Taille_Vetement = t.Taille_Tenue
	THEN 
		'Oui' 
	ELSE 
		'Non'
	END AS fit
FROM Mannequin m, Tenue t
WHERE	m.NumMan = 3 AND
	t.NumTenue = 2
;


Bonne journée!


Echo "Lima Mike Alfa";
0
Étienne9 Messages postés 1022 Date d'inscription   Statut Membre Dernière intervention   49
 
Bonjour,

Merci beaucoup.
Si je comprends bien, le AS (c'est la seule chose pas trop compris) c'est un alias, le nom de la colonne que vous donner ?

Cordialement et merci encore.
0
Doctor C Messages postés 627 Date d'inscription   Statut Membre Dernière intervention   398
 
En effet.

C'est pour choisir un nom à ta colonne au lieu de laisser SQL écrire ce qu'il veut.

Tu utilisais d'ailleur implicitement le AS sans t'en rendre compte dans la ligne suivante:

FROM Tenue t2

qui est une manière courte d'écrire:

FROM Tenue AS t2

Bonne chance!
0