次のクエリは、MS Accessで動作しますが、それはMS SQL Serverで動作しません: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
を、それが「不適切な構文のキーワードの近くに 『グループ』。」エラーになりますGROUPキーワードの上にカーソルを置くと、「GROUPの近くに構文が正しくありません.AS、ID、またはQUOTED_IDが必要です」というヒントが表示されます。わかりません。誰でもこのクエリを動作させる方法を教えてもらえますか?
あなたはサブクエリの別名を必要とする 'トングループ(...)からt.PatientIdによって' – dotjoe
私は、ネストされたSELECTはエイリアスが必要だと思います。最後の行 ")GROUP BY tblSession.PatientID"には、 ")tblSession.PatientIDによるGROUP BYのようなものが必要です。私は間違っている可能性があります... –
無関心な質問ですが、なぜあなたはそのTOP100パーセントを持っていますか? –