2016-09-06 51 views
-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 
+0

請與SQL Server的版本,您使用的標記您的問題。 –

回答

1

A)我認爲它需要進入 WHERE - 那裏說:WHERE (Appt_Status = 'N') AND (Appt_DateTime < DATEADD(day, DATEDIFF(day, 0, GETDATE()), - 1))) AS L,在括號內;和
B)應該是year(vwgenpatapptinfo.appt_datetime) = 2016,不僅year(vwgenpatapptinfo) = 2016