Ecriture d'une requete - demande d'aide

Le
PM
Bonjour,

J'ai quelques difficultés a écrire une requêtre autrement que'en utilisant
une UNION de 2 requetes pour obtenir le résultat suivant :

PossedeCle = 0 si l'abonne ne possède pas de clé ou PossedeCle=1 si il a au
moins 1 clé

Résultat de le requête
Id, Nom, Prenom, PossedeCle
-
1, DUPONT, Robert, 0
2, DURAND, Jacky, 1
3, ROGER, Alain, 1
4, SMITH, John, 0


Les 2 tables (Abonne et Cle) sont les suivantes

ABONNE :
Id, Nom, Prenom
1, DUPONT, Robert
2, DURAND, Jacky
3, ROGER, Alain
4, SMITH, John

CLE
Id, Description, IdAbonne
1, VACHETTE 1215, 2
2, BRICARD ZZZ2, 2
3, Cadenas city, 2
4, SAS Entre, 3
5, Portail, 3


Merci d'avance de votre aide

Cdt
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Rudi Bruchez
Le #11883541
Bonjour,

PM a écrit:
Bonjour,

J'ai quelques difficultés a écrire une requêtre autrement que'en utilisant
une UNION de 2 requetes pour obtenir le résultat suivant :

PossedeCle = 0 si l'abonne ne possède pas de clé ou PossedeCle=1 si il a au
moins 1 clé

Résultat de le requête
Id, Nom, Prenom, PossedeCle
----------------------------------------
1, DUPONT, Robert, 0
2, DURAND, Jacky, 1
3, ROGER, Alain, 1
4, SMITH, John, 0


Les 2 tables (Abonne et Cle) sont les suivantes

ABONNE :
Id, Nom, Prenom
1, DUPONT, Robert
2, DURAND, Jacky
3, ROGER, Alain
4, SMITH, John

CLE
Id, Description, IdAbonne
1, VACHETTE 1215, 2
2, BRICARD ZZZ2, 2
3, Cadenas city, 2
4, SAS Entre, 3
5, Portail, 3





SELECT DISTINCT
a.Id,
a.Nom,
a.Prenom,
CASE WHEN c.Id IS NULL THEN 0 ELSE 1 END as PossedeCle
FROM dbo.Abonne a
LEFT JOIN dbo.Cle c ON a.id = c.IdAbonne

--
Rudi Bruchez
Consultant independant, MCDBA, MCITP, MCT, MVP SQL Server
http://www.babaluga.com/
http://rudi.developpez.com/
PM
Le #11883531
Bonjour,

Merci Rudi pour cette requette

Comme moi le SQL c'est vraiement un métier..
Le CASE...THEN...ELSE...END est une decouverte pour moi

Encore merci


"Rudi Bruchez" news: %23O%
Bonjour,

PM a écrit:
Bonjour,

J'ai quelques difficultés a écrire une requêtre autrement que'en
utilisant une UNION de 2 requetes pour obtenir le résultat suivant :

PossedeCle = 0 si l'abonne ne possède pas de clé ou PossedeCle=1 si il a
au moins 1 clé

Résultat de le requête
Id, Nom, Prenom, PossedeCle
----------------------------------------
1, DUPONT, Robert, 0
2, DURAND, Jacky, 1
3, ROGER, Alain, 1
4, SMITH, John, 0


Les 2 tables (Abonne et Cle) sont les suivantes

ABONNE :
Id, Nom, Prenom
1, DUPONT, Robert
2, DURAND, Jacky
3, ROGER, Alain
4, SMITH, John

CLE
Id, Description, IdAbonne
1, VACHETTE 1215, 2
2, BRICARD ZZZ2, 2
3, Cadenas city, 2
4, SAS Entre, 3
5, Portail, 3





SELECT DISTINCT
a.Id,
a.Nom,
a.Prenom,
CASE WHEN c.Id IS NULL THEN 0 ELSE 1 END as PossedeCle
FROM dbo.Abonne a
LEFT JOIN dbo.Cle c ON a.id = c.IdAbonne

--
Rudi Bruchez
Consultant independant, MCDBA, MCITP, MCT, MVP SQL Server
http://www.babaluga.com/
http://rudi.developpez.com/


Publicité
Poster une réponse
Anonyme