私は四半期ごとに実行していたクエリを持っています。クエリは正常に実行されていましたが、男女別にフィルタリングして結果のパターンを確認できるように、性別フィールドを追加するように求められました。残りの患者データに使用している人口統計表にはすでに性別の列が含まれているため、単にクエリに追加しただけですが、実行すると「無効な列名」エラーが表示されます理由は分かりません。サブクエリを使用しているときに「無効な列名」エラーが発生しました
患者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]
部分の下に赤い波線を持っているし、それはです無効な列名エラーが表示されます。なぜどんなアイデア?
内部クエリは単独で機能しますか? 「患者:性別」の人口統計グループからの「選択数(1)、[患者:性別]」は2レコードを返しますか? – xQbert
技術的には、システムは「男性」、「女性」、「その他」、「不明」を許可しているので、4レコードを返します。 – EJF
これで、列名が正しいことが分かりました。外側のクエリのエイリアスを 'oDemographics'に変更すると、おそらく既存のテーブルと同じ名前にエイリアスが付いて問題が発生しています。 (内部クエリー自体は機能していましたか?) – xQbert