5

次のクエリを使用しました。

select Patients.LastName, 
  avg (PatientVisits.Pulse)as pulse,
  avg (patientvisits.depressionlevel)as depressionLevel  
from Patients 
left join PatientVisits 
   on Patients.PatientKey=PatientVisits.PatientKey

しかし、次のエラーが表示されます。

メッセージ 8120、レベル 16、状態 1、行 1 列 'Patients.LastName' は、集計関数にも GROUP BY 句にも含まれていないため、選択リストでは無効です。

4

1 に答える 1

10

クエリに a を追加する必要がありGROUP BYます。

select Patients.LastName, 
   avg (PatientVisits.Pulse)as pulse,
   avg (patientvisits.depressionlevel)as depressionLevel  
from Patients 
left join PatientVisits 
  on Patients.PatientKey=PatientVisits.PatientKey 
GROUP BY Patients.LastName

SQL Server ではSELECT、集計関数に含まれていないリスト内のすべての列を に含める必要がありGROUP BYます。Patients.LastNameデータを集計している間に を返そうとしているので、その列を group by に含める必要があります。

于 2013-08-28T16:09:50.627 に答える