查询MS ACCESS

时间:2012-06-01 11:46:22

标签: sql ms-access

我创建了一个类似于以下内容的数据库:

TABLE:

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

TABLE2:

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

我想在特定的日期得到条件和医生看起来像:(病人数量超过特定日期的病人数量)

 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年1月1日得到病情1,因此它将产生1而不是3)

顺便说一句,我在ms-access上这样做。

1 个答案:

答案 0 :(得分:0)

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

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

UNION

SELECT Condition, Doctor, [Date Changed]
FROM Table2

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