【发布时间】:2015-10-16 23:25:37
【问题描述】:
我正在尝试编写一个查询来检索仅存在于一个表中的数据,我还有其他需要解决的参数我已经研究了语法,但我不明白为什么我的其他参数没有被使用。对不起,如果这篇文章似乎相当缺乏经验,我只使用 SQL 一个月。
/*List the patient id, primary diagnosis and attending physician id for current admissions (no discharge date) in ICU
who haven't had an encounter with their attending physician.*/
PRINT 'GROUP 5 SELECT A';
PRINT '';
SELECT Admissions.PatientID, Admissions.PrimaryDiagnosis, Admissions.AttendingPhysicianID
FROM Admissions
WHERE NOT EXISTS
(SELECT *
FROM Encounters
WHERE (Admissions.PatientID = Encounters.PatientID)) And (Admissions.DischargeDate is NULL) And (Admissions.NursingUnitID = 'ICU');
【问题讨论】:
-
我怀疑条件
(Admissions.DischargeDate is NULL)和(Admissions.NursingUnitID = 'ICU')是否应该在子选择中,但我不确定,因为很难弄清楚逻辑应该是什么。 -
如何编写语法以将它们放在子选择之外?
-
删除最后一个
),放在(Admissions.PatientID = Encounters.PatientID)之后。 -
我编辑了我的代码并删除了加入,因为我意识到我可以只使用招生表中的 PhysicianID,我相信你的解决方案解决了我的问题,但奇怪的是现在我收到的结果为零。