我有一個查詢,我一直在每季度運行一次,查詢有關訪問診所的某些醫療問題的患者的數據。查詢運行良好,但我剛剛被要求添加一個性別字段,以便我們可以按照男性和女性過濾患者,並查看任何生成的模式。我已經用於其他患者數據的人口統計表已經有一個性別列,所以我只是將它添加到我的查詢中,但是當我運行它時,出現「無效列名」錯誤,我不知道不知道爲什麼。使用子查詢時出現「無效的列名稱」錯誤
由於我只需要顯示患者ID,姓名,訪問位置和現在性別,因此我一直在使用子查詢來查看我需要的其他數據以篩選患者列表。這是我有:
SELECT DISTINCT
[MedHist: Patient ID] as [Patient ID],
[Patient: First Last Name] as [Patient Name],
[Patient: Gender] as [Gender],
ServiceLocationID as [Service Location]
FROM
(SELECT DISTINCT
mh.[MedHist: Patient ID],
d.[Patient: First Last Name],
d.[Patient: Date of Birth],
d.[Patient: Gender] as [Gender],
d.[Patient: Age],
a.Status,
mh.[MedHist: Procedure Code],
pm.Description,
v.ServiceLocationID
FROM MedicalHistory mh INNER JOIN Demographics d ON mh.[MedHist: Patient ID] = d.[Patient: Patient ID]
INNER JOIN Appointment a ON a.PatientID = d.[Patient: Patient ID]
JOIN Visit v ON v.PatientID = d.[Patient: Patient ID]
JOIN PatientMeds pm ON pm.PatientID = d.[Patient: Patient ID]
WHERE d.[Patient: Age] ...is in a certain range
AND a.Status ...is a certain thing
AND pm.Description ...involves a certain medication
AND some other stuff
) Demographics
正如我所說,這個查詢完全跑在我加入了性別領域,現在我已經初步SELECT
語句的[Patient: Gender]
部分下有一個紅色的波浪線,它的給我的無效列名稱錯誤。任何想法爲什麼?
內部查詢是否獨立工作?從[患者:性別]人口統計組中選擇count(1),[Patient:Gender]是否返回2條記錄? – xQbert
從技術上講,由於系統允許「男性」,「女性」,「其他」和「未知」,所以它返回4條記錄,但除此之外,這是有效的。 – EJF
好的,所以我們知道列名是正確的......將外部查詢的別名更改爲「oDemographics」,可能會將其別名爲與現有表相同的名稱導致問題。 (並做了內部查詢本身的工作?) – xQbert