0
我的表結構如下SQL只返回一些結果對於一個複雜的一對多查詢
內鏡:
PK:Endoscopy_Id
FK:PatientId
這是多對一與...
病人
PK:Patient_Id
這是一個許多與Endoscopy
與Histology
組織學
PK:Histology_Id
FK:PatientId
這是一個許多與
HistologyDetails
PK:HistologyDet_Id
FK:Histology_Id
我試圖執行一個查詢w生病從所有患者的組織學和組織學細節中提取所有'星座圖'和一些領域。目前我沒有得到所有結果,我不知道爲什麼。我使用:
SELECT
Endoscopy.*,
Histology.Diagnosis, Histology.NatureOfSpec,
Histology.Histology,
HistolDetails.MeasurementLargest, HistolDeatils.NumberBx
FROM
Endoscopy
JOIN
PatientData ON Endoscopy.HospNum_Id = PatientData.HospNum_Id
JOIN
Histology ON Histology.HospNum_Id = PatientData.HospNum_Id
JOIN
HistolDetails ON Histology.Histology_Id = HistolDetails.Histology_Id
WHERE
histology.VisitDate = endoscopy.VisitDate
AND (ERFINDINGSSTR LIKE '%Barret%'OR ERDIAGNOSISSTR LIKE '%Barret%')
AND Endoscopy.ERPROCEDUREPERFORMED LIKE '%astroscopy%'
在爲什麼下調? –
因爲如果PatientData,Histology或Histoldetails中沒有數據,那麼該行將不會返回,因爲您正在進行常規聯接,那就是該聯接類型的性質。嘗試將它們切換到左外連接,並查看是否獲得了您期望的數據並從那裏開始 – TheRk
好問題Sebastian - 您已經很好地提出了您的問題並顯示了您的代碼,表明了一些努力。不知道爲什麼它被標記下來。您是使用查詢嚮導 - 還是嘗試使用查詢視圖來獲得您想要的?右鍵單擊加入行以設置它的屬性 - 從那裏您可以根據@TheRk建議 – dbmitch