-2
次のクエリでは、過去にアポイントが表示されなかった回数をカウントします。さて、私たちは現在の年のカウントだけを必要とします。私はこの部分を得ることに成功していない。私はWHERE area WHERE year(vwgenpatapptinfo) = 2016
に入れましたが、受け入れられません。患者のアポイントごとにカウントする年句を追加する
SELECT Distinct vwGenPatApptInfo.Appt_DateTime, vwGenPatInfo.Patient_Name, vwGenPatApptInfo.Appt_Status, vwGenPatApptInfo.Appt_Sched_Department_ID, vwGenPatApptInfo.Appt_Sched_Department_Descr, vwGenPatApptInfo.Patient_id, vwGenPatApptInfo.Patient_number, vwGenPatApptInfo.Appt_NoShow_Date,
ISNULL(P.NotShowCount,0) AS NotShowCount
FROM vwGenPatInfo vwGenPatInfo INNER JOIN vwGenPatApptInfo vwGenPatApptInfo ON vwGenPatInfo.Patient_ID=vwGenPatApptInfo.Patient_ID
LEFT JOIN
(SELECT Patient_ID, COUNT(Appt_Status) AS NotShowCount
FROM (SELECT Appt_DateTime, Appt_Status, Appt_Sched_Department_ID, Appt_Sched_Department_Descr, Appt_NoShow_Date, Patient_ID
FROM vwGenPatapptInfo AS vwGenPatApptInfo
WHERE (Appt_Status = 'N') AND (Appt_DateTime < DATEADD(day, DATEDIFF(day, 0, GETDATE()), - 1))) AS L
GROUP BY Patient_ID) AS P ON vwGenPatInfo.Patient_ID=P.Patient_ID
WHERE vwGenPatApptInfo.Appt_Status='N'
ORDER BY vwGenPatApptInfo.Appt_Sched_Department_ID, vwGenPatApptInfo.Appt_DateTime
使用しているSQL Serverのバージョンに質問にタグを付けてください。 –