我已经创建了一个数据库,如下所示:
表:
PATIENT ID CONDITION DOCTOR DATE ADMITTED
PATIENT 1 CONDITION 1 DOCTOR 1 5/23/2011
PATIENT 2 CONDITION 1 DOCTOR 2 8/22/2011
PATIENT 3 CONDITION 2 DOCTOR 1 12/12/2010TABLE2:
PATIENT ID CONDITION DOCTOR DATE CHANGED
PATIENT 1 CONDITION 4 DOCTOR 3 5/24/2011
PATIENT 1 CONDITION 3 DOCTOR 3 6/22/2011
PATIENT 2 CONDITION 1 DOCTOR 1 10/22/2011我想要得到特定日期的病情和医生,如下所示:(在特定日期内具有病情x的患者数量)
DATE 5/1/2012 5/2/2012 5/3/2012
====================================================
CONDITION 1 5 2 1
CONDITION 2 2 1 2以及在特定日期获得条件x的患者数量(例如,3名患者具有条件1,但有1名患者在2012年5月1日获得了条件1,因此将产生1而不是3)
顺便说一下,我是在ms-access上这样做的。
发布于 2012-06-02 02:47:21
在联合查询上创建交叉表。
SELECT Condition, Doctor, [Date Admitted]
FROM [Table]
UNION
SELECT Condition, Doctor, [Date Changed]
FROM Table2这将创建一个3列的表,而不考虑是否有任何等式。如果要限制任何条件,则必须将WHERE语句放在每个联合查询或交叉表查询本身中
https://stackoverflow.com/questions/10849653
复制相似问题