我有以下的表格:
+--------+-------+------+--+
| Object | Event | Time | |
+--------+-------+------+--+
| Obj1 | A | 1 | |
| Obj1 | B | 3 | |
| Obj2 | A | 7 | |
| Obj2 | B | 4 | |
+--------+-------+------+--+
我的目标是获取所有满足事件A和B的对象,并且A事件先发生(在时间上)。到目前为止,我只能查询出所有具有A和B事件的对象,但没有包括时间条件:
SELECT DISTINCT Object
FROM
(SELECT *
FROM
(SELECT *
FROM table
INNER JOIN
(SELECT Object Obj
FROM table
WHERE event LIKE '%A%' AS temp_table) ON table.Object = temp_table.Obj) AS temp_final
WHERE event LIKE '%B%') AS temp2;
因此,最终结果将是我得到一个仅包含以下内容的表格:
Obj1
由于这是唯一符合所有条件的对象。
时间列在现实生活中是一个日期戳记,但为了简单起见,我使用了整数。
感谢您的帮助。