我有一个活动表,一些标记为“评估”(type_id 为 50),一些标记为“咨询”(type_id 为 9)以及活动日期。我需要比较这些日期,以了解人们在评估后等待咨询的时间。该表包含许多人的行,这是“id”的主键。我的问题是如何生成包含同一个人的评估详细信息和咨询详细信息的结果行,以便我可以比较日期。我尝试将表连接到自身,并尝试嵌套子查询,但我无法理解。我正在使用 Access 2010 顺便说一句。请原谅我的愚蠢,但这里有一个将表格连接到自身的示例,它不起作用,没有产生任何结果(不足为奇):
表看起来像:
ID TYPE_ID ACTIVITY_DATE_TIME
----------------------------------
1 9 20130411
1 v 50 v 20130511
2 9 20130511
3 9 20130511
在上面的最后两行只有评估,所以我想忽略它们,只处理有评估和咨询'type-id'的情况
SELECT
civicrm_activity.id, civicrm_activity.type_id,
civicrm_activity.activity_date_time,
civicrm_activity_1.type_id,
civicrm_activity_1.activity_date_time
FROM
civicrm_activity INNER JOIN civicrm_activity AS civicrm_activity_1
ON civicrm_activity.id = civicrm_activity_1.id
WHERE
civicrm_activity.type_id=9
AND civicrm_activity_1.type_id=50;
我实际上想知道这实际上是否与 SQL 无关?我希望有可能吗?感谢您的耐心等待!