问题描述
我正在研究一个器官移植中心的数据库。数据库在 MS Access 中。
我想编写 sql 代码,显示在特定时间段内接受了多个移植器官的患者。我成功地编写了显示在时间范围内完成的所有移植操作的代码,但无法编写显示多个移植/患者的部分。
你会帮忙吗?
以下是查找该时间段内完成的所有移植操作的代码:
SELECT *
FROM [Transplant Organ information]
WHERE txdt BETWEEN #01/01/2008# AND #12/31/2013#
我拥有的列是:
- 患者 ID (PID)“编号”
- 器官类型(rorgtype)“类别”
- 移植日期(txdt)“日期”
解决方法
我想写一个sql代码,显示在某个时间段内移植了多个器官的患者。
我认为您只需要聚合和 HAVING
子句:
SELECT patient_id
FROM [Transplant Organ Information]
WHERE txdt BETWEEN #01/01/2008# AND #12/31/2013#
GROUP BY patient_id
HAVING COUNT(*) > 1;