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