1

我创建了一个看起来像这样的数据库:

桌子:

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/2010

表 2:

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 上执行此操作。

4

1 回答 1

0

在联合查询上创建交叉表。

SELECT Condition, Doctor, [Date Admitted]
FROM [Table]

UNION

SELECT Condition, Doctor, [Date Changed]
FROM Table2

这将创建一个 3 列的表,而不考虑是否存在任何等式。如果要限制任何条件,则必须将该WHERE语句放在每个联合查询中,或者放在交叉表查询本身中

于 2012-06-01T18:47:21.180 回答