2017-05-17 59 views
0

我需要实现这样的事情:MSSQL查询和其他领域中的一个领域

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子句的一部分,或者受聚合函数的影响。在这种情况下,由于您只汇总了一列,因此您的群组必须是所有剩余字段:

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