0

ここに画像の説明を入力

こんにちは!私はこのスキーマからレコードを取得するために取り組んできましたが、実際にはうまくいきません..関係はとても厄介です

PatPlan テーブルの序数フィールドは INT (1,2)
1= 一次保険
2= 二次保険

および関係フィールド (一次保険に加入している患者と予約されている患者の間の関係) は同じように機能します
1= 自分
2= 配偶者
3= 子供

inssub テーブル サブスクライバーは患者です。

基本的に3つの大きなカテゴリを取得する必要があります:

1. Appointment's Fields
   -AptDateTime
   -DateTStamp
   -Patient's FirstName
   -Patient's LastName
   -Patient's Gender
   -Patient's Position
   -Patient's EmployerName


2. Guarantor's fields 
   //Same as the Patient's fields (Guarantor is a patient)
   //Must be the guarantor related to the patient who has the appointment
   -Patient's FirstName
   -Patient's LastName
   -Patient's Gender
   -Patient's Position
   -Patient's EmployerName
   -CarrierName
   -EmployerName

3. Primary Insurance (This is the one i can't work it out)
   //Primary insurance is as same as the patient's table
   -Patient's FirstName
   -Patient's LastName
   -Patient's Gender
   -Patient's Position
   -Patient's EmployerName
   -CarrierName
   -EmployerName

この 3 日間作業を続けましたが、まだ解決していません。

私の現在のクエリ:

SELECT p.Title, p.FName, p.LName, p.Position, p.Gender,e.EmpName, 

pm.FName AS PMFname, pm.LName AS PMLName, pp.Relationship AS PMPatStatus, 
pme.EmpName AS PMEmpName, i.DateEffective AS PMDateEffective, i.DateTerm AS PMDateTerm, 
c.CarrierName AS PMCarrierName, pme.EmpName AS PMEmpName,

g.FName AS GFName, g.LName AS GLName, pp.Relationship AS GPatStatus, g.Gender AS GGender,ge.EmpName AS GEmpName,

a.AptDateTime, a.AptNum, a.PatNum

FROM patient p LEFT OUTER JOIN Employer e ON p.employerNum = e.employerNum
inner JOIN Appointment a ON a.PatNum = p.PatNum
left JOIN Insplan ip ON ip.EmployerNum = e.employerNum
left JOIN Carrier c ON c.carrierNum = ip.carrierNum 
left JOIN Inssub i ON i.PlanNum = ip.PlanNum 
left JOIN patplan pp ON  pp.InsSubNum = i.InsSubNum AND  pp.PatNum = p.PatNum 
left JOIN Patient pm ON pm.PatNum = i.subscriber 
left JOIN Employer pme ON pme.employerNum = pm.employerNum
left JOIN Patient g ON g.PatNum = p.Guarantor 
LEFT JOIN Employer ge ON ge.employerNum = g.employerNum

WHERE a.DateTStamp > '2012/06/03' AND 
a.AptDateTime != '0001-01-01 00:00:00'
4

0 に答える 0