par
cf357 » 05 nov. 2008, 15:13
Bonjour à tous,
j'ai une requéte d'un genre que je n'ai jamais rencontré jusque là à écrire, et je ne sais même pas à quels méchanismes faire appel.
Table 'user'
------------
id
Table 'depot'
--------------
id
user_id
montant
date
Et je voudrais récupérer "les utilisateurs qui ont fait leur PREMIER DEPOT entre 2008-01-01 et 2009-01-01 (par exemple).
Pourriez vous me donner des pistes à suivre pour filtrer avec ce fameux "premier élément" ?
Merci
------------------[edit]--------------------
Pfiou, j'ai réussi ! J'ai une requete assez simple au final, mais bordel je me suis bien remué la tête !
Pour ceux que ça interesse :
Code : Tout sélectionner
SELECT u.id FROM user u
WHERE
(
SELECT MIN(d.date) AS premier_depot
FROM depot d
WHERE d.user_id=u.id
GROUP BY d.user_id
)
BETWEEN '2008-01-01' AND '2009-01-01';
Il ne me reste plus qu'a transformer ça en requete à base de Criteria/Criterion !