我正在从一个网站学习SQL,并为这个问题创建了以下解决方案:
显示患者ID、名字、姓氏和主治doctor 的姓名 特色菜.只显示被诊断为癫痫的患者 doctor 的名字是‘丽莎’
判断患者、入院者和doctor 表以了解所需信息 信息.
表 struct
我的解决方案是:
SELECT
p.patient_id,
p.first_name,
p.last_name,
d.specialty
FROM
patients p,
admissions a,
doctors d
where
p.patient_id =
(
select a.patient_id
where
a.attending_doctor_id =
(
select d.doctor_id
where
d.specialty = 'Epilepsy'
and d.first_name = 'Lisa'
)
)
但我得到的结果是空的,没有显示任何行. 我非常肯定我对子查询的理解不足,我不想使用Join,因为我想练习子查询.
为什么上面的方法不能通过查找匹配的行来实现呢?
我相信该网站使用的是MySQL.