Bonjour,
je suis plutôt novice dans le SQL et je n'arrive pas à formuler la requête que je nécessite.
Je dispose d'une table ENTREPRISE dans laquelle j'ai les champs suivants :
Nom
Labels
Le champ Labels est un champ à valeur multiples, dans lequel on retrouve tous les labels de l'entreprise.
Mon objectif est de pouvoir compter le nombre de labels que possède chaque entreprise, puis de définir un critère en fonction de ce nombre. Je m'explique :
Si (nombre de label) = 0 , on renvoie "entreprise sans label"
Si (nombre de labels)= 1, on renvoie " entreprise avec peu de labels"
Si (nombre de labels) > 1, on renvoie " entreprise avec beaucoup de labels".
Je parviens à réaliser cela en effectuant deux requêtes.
1- Lors de la première requête, je compte le nombre de labels par entreprise
2- Lors de ma seconde requête, j'utilise en paramètre le résultat que j'ai sur ma première requête.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT T.[Nom Entreprise], (SELECT COUNT([Labels].Value) FROM [Clients Potentiels] WHERE [Num]=[T].[Num]) AS [Nombre de labels] FROM [Clients Potentiels] AS T;
Cependant, afin de ne pas créer trop de requêtes, j'aimerai que la requête soit effectuée en une seule fois. Cela est-il possible ? Si oui, comment procéder ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT SWITCH( Entreprise.[Nombre de labels]='0',"Entreprise sans labels", Entreprise.[Nombre de labels]>'1',"Entreprise avec beaucoup de labels") AS CritèreLabels FROM Entreprise;
J'ai essayé de chercher dans ce que je trouvais dans les sous requêtes sans succès...
Merci de votre aide !
Baptiste






Répondre avec citation



Partager