Requête répond OUI ou NON

Résolu
Étienne9 Messages postés 1090 Statut Membre -  
Doctor C Messages postés 630 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

  1. Doctor C Messages postés 630 Date d'inscription   Statut Membre Dernière intervention   400
     
    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
  2. Étienne9 Messages postés 1090 Statut Membre 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
    1. Doctor C Messages postés 630 Date d'inscription   Statut Membre Dernière intervention   400
       
      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