รวมค่าผลลัพธ์จากมุมมอง sql โดยรวม

ฉันมีตารางเช่นนี้สามตาราง - โรงพยาบาล, การวินิจฉัย และ ฟาร์มาซี

โรงพยาบาล

HospitalID   int
PatientID    int
Due         float

วินิจฉัย

DaignosticID   int
PatientID    int
Due         float

ฟาร์ม

FarmacyID   int
PatientID    int
Due         float

คอลัมน์ PatientID คือ pk จากตาราง Patient

PatientId  int
Patient name  var

ฉันมีคำถามเพื่อแสดงค่าธรรมเนียมทั้งหมดของผู้ป่วยจากตารางต่างๆ และสรุปเป็นยอดรวม

ฉันสามารถเรียกคืนค่าธรรมเนียมทั้งหมดของผู้ป่วยได้สำเร็จ แต่ฉันจะสรุปยอดได้อย่างไร

คำถามของฉันคือ:

declare @patient int set @patient=1
BEGIN 
  SELECT 
   dbo.Master.Name, 
    dbo.Diagonistic.Due AS DaigiDue, 
    dbo.Farmacy.Due AS FramaDue,            
    dbo.Hospital.Due AS HospiDue 
 FROM dbo.Diagonistic 
 FULL OUTER JOIN dbo.Master ON dbo.Diagonistic.PatientId = dbo.Master.PatientId 
 FULL OUTER JOIN dbo.Farmacy ON dbo.Master.PatientId = dbo.Farmacy.PatientId 
 FULL OUTER JOIN dbo.Hospital ON dbo.Master.PatientId = dbo.Hospital.PatientId 
 where 
   dbo.Master.PatientId= @Patient 
end

person user2180894    schedule 16.04.2013    source แหล่งที่มา
comment
คุณหมายถึงอะไรโดยยอดรวม...หมายถึงผลรวมของทั้งสามหรือผลรวมของหมวดหมู่บุคคล (fram,hosp,diag)   -  person Amit Singh    schedule 16.04.2013


คำตอบ (1)


ลองด้วยสิ่งนี้...

Declare @Patient Int 
Set @Patient=1
Begin 

    Select 
    dbo.Master.Name, 
    dbo.Diagonistic.Due AS DaigiDue, 
    dbo.Farmacy.Due AS FramaDue,            
    dbo.Hospital.Due AS HospiDue,
    Isnull(dbo.Diagonistic.Due,'0') +  Isnull(dbo.Farmacy.Due,'0') + Isnull(dbo.Hospital.Due,'0') as TotalDue     
    From dbo.Diagonistic 
    Full Outer Join dbo.Master ON dbo.Diagonistic.PatientId = dbo.Master.PatientId 
    Full Outer Join dbo.Farmacy ON dbo.Master.PatientId = dbo.Farmacy.PatientId 
    Full Outer Join dbo.Hospital ON dbo.Master.PatientId = dbo.Hospital.PatientId 
    Where 
        dbo.Master.PatientId= @Patient 

End
person Marimuthu Kandasamy    schedule 16.04.2013