J'ai le tableau suivant :
+--------+-------+------+--+
| Object | Event | Time | |
+--------+-------+------+--+
| Obj1 | A | 1 | |
| Obj1 | B | 3 | |
| Obj2 | A | 7 | |
| Obj2 | B | 4 | |
+--------+-------+------+--+
Mon but est d'obtenir tous les objets qui ont tous deux eu l'événement A & B avec la condition que A se soit produit en premier (dans le temps). Jusqu'à présent, je n'ai trouvé que la requête permettant de trouver tous les objets qui ont eu A et B sans inclure le temps :
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;
Donc le résultat final serait que j'obtienne un tableau qui inclut seulement :
Obj1
Puisque c'est le seul objet qui remplit tous les critères.
La colonne de temps est un timbre de date dans la vie réelle, mais pour la simplicité j'ai utilisé des entiers.
Merci pour votre aide