J'essaie d'ajouter une instruction CASE à la fin de ma requête SQL pour calculer une valeur en fonction d'une autre valeur de table et d'une valeur précédemment calculée dans SELECT. L'erreur est renvoyée que DelivCount est un nom de colonne non valide. Y a-t-il une meilleure façon de faire ou est-ce que je fais quelque chose de mal?Comment faire référence à une valeur précédemment calculée dans l'instruction SQL Query
SELECT jd.FullJobNumber, jd.ProjectTitle, jd.ClientName, jd.JobManager, jd.ProjectDirector, jd.ServiceGroup, jd.Status, jd.HasDeliverables, jd.SchedOutsideJFlo, jd.ReqCompleteDate,(SELECT COUNT(*)FROM DeliverablesSchedule ds WHERE jd.FullJobNumber = ds.FullJobNumber) as DelivCount, SchedType =
CASE
WHEN (jd.SchedOutsideJFlo = 'Yes')
THEN 'outside'
WHEN (jd.HasDeliverables = 'No ')
THEN 'none'
WHEN (DelivCount > 0)
THEN 'has'
WHEN (jd.HasDeliverables = 'Yes' AND DelivCount = 0)
THEN 'missing'
ELSE 'unknown'
END
FROM JobDetail jd
Vous devez spécifier le SGBD que vous utilisez pour ce type de question car la réponse variera en fonction du produit. –