2017-05-17 11 views
0

私はこのような何かを達成する必要があります:MSSQLクエリ合計1つのフィールドは

結果のフィールドの一つはSUM値をある
SELECT AttendDetails.Date,AttendDetails.AttendId, NameCode,PhoneNo,Patients. 
[Next of Kin] as NextOfKin,Company, 
ConsultFee,LabFee, XraFee as XrayFee, ECGFee, 
AdmitFee,SUM(PresFee) AS TotalPresFee,MedFee,TheaterFee,ScanFee 
FROM AttendDetails 
LEFT JOIN Patients on AttendDetails.OPDNo = Patients.OPDNo 
LEFT JOIN [Company list] on [Company list].AcNum = AttendDetails.GLOffset 
LEFT JOIN ConsultDetails on AttendDetails.AttendId = 
ConsultDetails.AttendId 
LEFT JOIN LaboratoryDetails on AttendDetails.AttendId = 
LaboratoryDetails.AttendId 
LEFT JOIN XrayDetails on AttendDetails.AttendId = XrayDetails.AttendId 
LEFT JOIN ECGDetails on AttendDetails.AttendId = ECGDetails.AttendId 
LEFT JOIN AdmitDetails on AttendDetails.AttendId = AdmitDetails.AttendId 
LEFT JOIN PrescripDetails on AttendDetails.AttendId = 
PrescripDetails.AttendId 
LEFT JOIN Medicals on AttendDetails.AttendId = Medicals.AttendId 
LEFT JOIN TheaterDetails on AttendDetails.AttendId = TheaterDetails.AttendId 
LEFT JOIN ScanDetails on AttendDetails.AttendId = ScanDetails.AttendId 
WHERE AttendDetails.GLOffset = $P{company} 
AND AttendDetails.Date BETWEEN $P{startDate} AND $P{endDate} 
GROUP BY <something> 

。しかし、私は、条項の権利でグループを取得していないようです。または私はそれをすべて間違っているのですか?

+0

エラーは何ですか?選択したすべてのフィールドでグループ化していますか? –

答えて

0

集約クエリ中、すべてのフィールドはGROUP BY句の一部であるか、集約関数の影響を受ける必要があります。この場合、1つの列のみを集計しているため、グループは残りのすべてのフィールドである必要があります。

GROUP BY 
    AttendDetails.Date, 
    AttendDetails.AttendId, 
    NameCode, 
    PhoneNo, 
    Patients.[Next of Kin], 
    Company, 
    ConsultFee, 
    LabFee, 
    XraFee, 
    ECGFee, 
    AdmitFee, 
    MedFee, 
    TheaterFee, 
    ScanFee 
関連する問題