J'essaie de renvoyer des informations condensées à partir d'objets auxquels sont liées de nombreuses relations ou lignes. Je comprends ce qui se passe, mais je ne sais pas comment éviter cela en SQL. Je spécifie que la requête doit renvoyer une condition basée sur chaque ligne.
Existe-t-il une fonction d'agrégation pour faire cela ? Quelque chose comme une fonction ANY qui ne renvoie qu'une seule valeur ? Je sais que cela est possible avec des fonctions comme SUM et AVG. J'ai essayé IF EXISTS sans succès. Je ne l'ai peut-être pas utilisé correctement.
Si ce n'est pas possible, alors je dois écrire du code pour cela. Ce n'est pas difficile, mais il serait plus difficile pour les futures personnes de maintenir les rapports/analytiques.
Voici un exemple de données si cela peut vous aider. C'est similaire mais toujours très différent de l'information.
Ensemble de données :
Résultats actuels :
Résultats souhaités :
Voici mon exemple de requête :
SELECT
orderId,
(CASE WHEN shippingMethod = 'Expedited' THEN 'Yes' ELSE 'NO' END) AS isExpedited,
(CASE WHEN itemsUnder10 < 10 THEN 'Yes' ELSE 'NO' END) AS itemsUnder10
FROM
[Db].[dbo].[exampleTable]
GROUP BY
orderId
Comment puis-je atteindre les résultats que je souhaite ?
Faites-moi savoir si je peux fournir de meilleures informations.
EDIT : J'ai oublié d'ajouter GROUP BY. Désolé. Je l'ajoute dans