下面的查詢工作在MS Access,但它並沒有在MS SQL Server的工作:「附近關鍵字‘組’語法錯誤」爲什麼在MS Access中工作的SQL查詢不能在SQL Server中工作?
SELECT
tblSession.PatientID as PID,
max(tblSession.SessionAttend) -
min(tblSession.SessionAttend) + 1 as NumSA,
max(tblSession.SessionSched) -
min(tblSession.SessionSched) + 1 as NumSS FROM
(
SELECT top 100 percent
tblSession.PatientID,
tblSession.SessionNumber,
tblSession.SessionDate,
tblSession.SessionAttend,
tblSession.SessionSched FROM
tblPatient INNER JOIN tblSession ON
tblPatient.PatientID = tblSession.PatientID) WHERE
(tblSession.SessionDate >= '12/8/2010') AND
(tblSession.SessionDate <= '5/18/2011') AND
(tblSession.Status = '2') ORDER BY
tblSession.PatientID, tblSession.SessionNumber
) GROUP BY tblSession.PatientID
在SQL Server,它給人的錯誤當我將鼠標懸停在GROUP關鍵字上時,工具提示顯示「GROUP」附近的語法錯誤,期望AS,ID或QUOTED_ID。「我不明白。任何人都可以告訴我如何使這個查詢工作?
你需要一個別名,由t.PatientId子查詢'從(...)T組' – dotjoe 2012-03-12 18:37:19
我相信你嵌套SELECT需要一個別名。因此最後一行「)GROUP BY tblSession.PatientID」需要類似於「)AS tbl GROUP BY tblSession.PatientID」。我可能是錯的... – 2012-03-12 18:42:14
無奈的問題,但爲什麼你有'最高百分之一百'? – 2012-03-12 18:48:29