SQL Calculer le pourcentage sur 2 colonnes

J'ai un problème, j'ai besoin de calculer le pourcentage entre 2 colonnes différentes. Malheureusement, je n'arrive pas à le faire fonctionner et quand je cours ce tout ce que je reçois est "Nom de colonne invalide 'CountOfPlannedVisits'" & "Nom de colonne invalide 'CountOfPlannedVisitsClosed'"

SELECT Count(*) As CountOfPlannedVisits, MAX(datename(month, dbo.tblVisit.DateConfirmed)) AS MonthName, SUM(CASE WHEN tblVisit.VisitTypeRef <> '5' THEN 1 ELSE 0 END) AS CountOfPlannedVisitsClosed, CAST(100.0 * SUM("CountOfPlannedVisits") / SUM(CountOfPlannedVisitsClosed) AS Decimal(5,2) ) As OverallAttendance FROM dbo.tblContract INNER JOIN dbo.tblCustomer ON dbo.tblContract.CustomerRef = dbo.tblCustomer.CustomerID INNER JOIN dbo.tblContractSite ON dbo.tblContract.ContractID = dbo.tblContractSite.ContractRef INNER JOIN dbo.tblVisit ON dbo.tblContractSite.CardNumber = dbo.tblVisit.CardNumber WHERE (tblCustomer.CustomerNumber = '08434') AND (tblVisit.Routine = '1') AND year(tblVisit.DateConfirmed) = Year('2013')--@DateYear) AND dbo.IsOnHoldEx(tblContract.OnHold, tblContractSite.OnHold, tblContract.OnHoldStartDate, tblContract.OnHoldEndDate, tblContractSite.OnHoldStartDate, tblContractSite.OnHoldEndDate) = 0 AND tblVisit.Deleted = 0 -- make sure we dont pull through deleted visits AND (tblContractSite.DateInactive is NULL or tblContractSite.DateInactive > GetDate()) GROUP BY month(dbo.tblVisit.DateConfirmed) 

Toute aide serait grandement appréciée car je ne suis pas vraiment sûr de savoir où aller à partir d'ici!

Merci

Vous pouvez uniquement referencer un alias de colonne (comme CountOfPlannedVisits dans votre cas) dans la clause order by . Partout ailleurs vous devez répéter l'expression ou utiliser une table de sous-requête, quelque chose comme:

 select CountOfPlannedVisits, CountOfPlannedVisitsClosed, 100 * CountOfPlannedVisits / CountOfPlannedVisitsClosed, ... from ( select some_expression as CountOfPlannedVisits , some_other_expression as CountOfPlannedVisitsClosed .... ) a_table ....