Bonjour tout le monde,
Supposons une table Activite lié à une table Service. La table Activité
enregistre chaque activité pour un service.
Table Activité
act_id
act_serv_id
act_heure
Je veux récupérer de la table activité la dernière activité pour chaque
service ainsi que l'heure de l'activité. Disons que le contenu de la table
ressemble à ceci
act_id act_serv_id act_heure
1 1 10:00
2 1 13:00
3 2 11:30
4 1 16:15
5 2 15:45
Je voudrais donc que le résultat de ma requête me donne
act_id act_serv_id act_heure
4 1 16:15
5 2 15:45
Si je fais une requête pour récupérer seulement la dernière activité pour
chaque service sans tenir compte de l'heure pas de problème je fais
SELECT act_serv_id, MAX(act_id)
FROM Activite
GROUP BY act_serv_id
Par contre si je fais la même chose en ajoutant l'heure, alors là
j'obtiens
tous les enregistrements puisque l'heure est différente pour chacun.
SELECT act_serv_id, act_heure, MAX(act_id)
FROM Activite
GROUP BY act_serv_id, act_heure
Puisque je suis obligé de mettre et le service et l'heure dans la clause
GROUP BY, forcément je reçois tous les enregistrements.
Donc il doit bien avoir une façon de regrouper mes enregistrements pour
obtenir seulement la dernière activité pour chaque service en ayant
l'heure
de cette activité d'inclus dans le résultat de ma requête.
Merci pour vos toujours précieuses suggestions.
Denis P
Bonjour tout le monde,
Supposons une table Activite lié à une table Service. La table Activité
enregistre chaque activité pour un service.
Table Activité
act_id
act_serv_id
act_heure
Je veux récupérer de la table activité la dernière activité pour chaque
service ainsi que l'heure de l'activité. Disons que le contenu de la table
ressemble à ceci
act_id act_serv_id act_heure
1 1 10:00
2 1 13:00
3 2 11:30
4 1 16:15
5 2 15:45
Je voudrais donc que le résultat de ma requête me donne
act_id act_serv_id act_heure
4 1 16:15
5 2 15:45
Si je fais une requête pour récupérer seulement la dernière activité pour
chaque service sans tenir compte de l'heure pas de problème je fais
SELECT act_serv_id, MAX(act_id)
FROM Activite
GROUP BY act_serv_id
Par contre si je fais la même chose en ajoutant l'heure, alors là
j'obtiens
tous les enregistrements puisque l'heure est différente pour chacun.
SELECT act_serv_id, act_heure, MAX(act_id)
FROM Activite
GROUP BY act_serv_id, act_heure
Puisque je suis obligé de mettre et le service et l'heure dans la clause
GROUP BY, forcément je reçois tous les enregistrements.
Donc il doit bien avoir une façon de regrouper mes enregistrements pour
obtenir seulement la dernière activité pour chaque service en ayant
l'heure
de cette activité d'inclus dans le résultat de ma requête.
Merci pour vos toujours précieuses suggestions.
Denis P
Bonjour tout le monde,
Supposons une table Activite lié à une table Service. La table Activité
enregistre chaque activité pour un service.
Table Activité
act_id
act_serv_id
act_heure
Je veux récupérer de la table activité la dernière activité pour chaque
service ainsi que l'heure de l'activité. Disons que le contenu de la table
ressemble à ceci
act_id act_serv_id act_heure
1 1 10:00
2 1 13:00
3 2 11:30
4 1 16:15
5 2 15:45
Je voudrais donc que le résultat de ma requête me donne
act_id act_serv_id act_heure
4 1 16:15
5 2 15:45
Si je fais une requête pour récupérer seulement la dernière activité pour
chaque service sans tenir compte de l'heure pas de problème je fais
SELECT act_serv_id, MAX(act_id)
FROM Activite
GROUP BY act_serv_id
Par contre si je fais la même chose en ajoutant l'heure, alors là
j'obtiens
tous les enregistrements puisque l'heure est différente pour chacun.
SELECT act_serv_id, act_heure, MAX(act_id)
FROM Activite
GROUP BY act_serv_id, act_heure
Puisque je suis obligé de mettre et le service et l'heure dans la clause
GROUP BY, forcément je reçois tous les enregistrements.
Donc il doit bien avoir une façon de regrouper mes enregistrements pour
obtenir seulement la dernière activité pour chaque service en ayant
l'heure
de cette activité d'inclus dans le résultat de ma requête.
Merci pour vos toujours précieuses suggestions.
Denis P
Bonsoir.
tu prends la valeur max pour les heures également.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
"Denis P" a écrit dans le message de
news:%Bonjour tout le monde,
Supposons une table Activite lié à une table Service. La table Activité
enregistre chaque activité pour un service.
Table Activité
act_id
act_serv_id
act_heure
Je veux récupérer de la table activité la dernière activité pour chaque
service ainsi que l'heure de l'activité. Disons que le contenu de la
table
ressemble à ceci
act_id act_serv_id act_heure
1 1 10:00
2 1 13:00
3 2 11:30
4 1 16:15
5 2 15:45
Je voudrais donc que le résultat de ma requête me donne
act_id act_serv_id act_heure
4 1 16:15
5 2 15:45
Si je fais une requête pour récupérer seulement la dernière activité
pour
chaque service sans tenir compte de l'heure pas de problème je fais
SELECT act_serv_id, MAX(act_id)
FROM Activite
GROUP BY act_serv_id
Par contre si je fais la même chose en ajoutant l'heure, alors là
j'obtienstous les enregistrements puisque l'heure est différente pour chacun.
SELECT act_serv_id, act_heure, MAX(act_id)
FROM Activite
GROUP BY act_serv_id, act_heure
Puisque je suis obligé de mettre et le service et l'heure dans la clause
GROUP BY, forcément je reçois tous les enregistrements.
Donc il doit bien avoir une façon de regrouper mes enregistrements pour
obtenir seulement la dernière activité pour chaque service en ayant
l'heurede cette activité d'inclus dans le résultat de ma requête.
Merci pour vos toujours précieuses suggestions.
Denis P
Bonsoir.
tu prends la valeur max pour les heures également.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
"Denis P" <denispronovostNospam@sympatico.ca> a écrit dans le message de
news:%23kDvDoovDHA.2260@TK2MSFTNGP09.phx.gbl...
Bonjour tout le monde,
Supposons une table Activite lié à une table Service. La table Activité
enregistre chaque activité pour un service.
Table Activité
act_id
act_serv_id
act_heure
Je veux récupérer de la table activité la dernière activité pour chaque
service ainsi que l'heure de l'activité. Disons que le contenu de la
table
ressemble à ceci
act_id act_serv_id act_heure
1 1 10:00
2 1 13:00
3 2 11:30
4 1 16:15
5 2 15:45
Je voudrais donc que le résultat de ma requête me donne
act_id act_serv_id act_heure
4 1 16:15
5 2 15:45
Si je fais une requête pour récupérer seulement la dernière activité
pour
chaque service sans tenir compte de l'heure pas de problème je fais
SELECT act_serv_id, MAX(act_id)
FROM Activite
GROUP BY act_serv_id
Par contre si je fais la même chose en ajoutant l'heure, alors là
j'obtiens
tous les enregistrements puisque l'heure est différente pour chacun.
SELECT act_serv_id, act_heure, MAX(act_id)
FROM Activite
GROUP BY act_serv_id, act_heure
Puisque je suis obligé de mettre et le service et l'heure dans la clause
GROUP BY, forcément je reçois tous les enregistrements.
Donc il doit bien avoir une façon de regrouper mes enregistrements pour
obtenir seulement la dernière activité pour chaque service en ayant
l'heure
de cette activité d'inclus dans le résultat de ma requête.
Merci pour vos toujours précieuses suggestions.
Denis P
Bonsoir.
tu prends la valeur max pour les heures également.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
"Denis P" a écrit dans le message de
news:%Bonjour tout le monde,
Supposons une table Activite lié à une table Service. La table Activité
enregistre chaque activité pour un service.
Table Activité
act_id
act_serv_id
act_heure
Je veux récupérer de la table activité la dernière activité pour chaque
service ainsi que l'heure de l'activité. Disons que le contenu de la
table
ressemble à ceci
act_id act_serv_id act_heure
1 1 10:00
2 1 13:00
3 2 11:30
4 1 16:15
5 2 15:45
Je voudrais donc que le résultat de ma requête me donne
act_id act_serv_id act_heure
4 1 16:15
5 2 15:45
Si je fais une requête pour récupérer seulement la dernière activité
pour
chaque service sans tenir compte de l'heure pas de problème je fais
SELECT act_serv_id, MAX(act_id)
FROM Activite
GROUP BY act_serv_id
Par contre si je fais la même chose en ajoutant l'heure, alors là
j'obtienstous les enregistrements puisque l'heure est différente pour chacun.
SELECT act_serv_id, act_heure, MAX(act_id)
FROM Activite
GROUP BY act_serv_id, act_heure
Puisque je suis obligé de mettre et le service et l'heure dans la clause
GROUP BY, forcément je reçois tous les enregistrements.
Donc il doit bien avoir une façon de regrouper mes enregistrements pour
obtenir seulement la dernière activité pour chaque service en ayant
l'heurede cette activité d'inclus dans le résultat de ma requête.
Merci pour vos toujours précieuses suggestions.
Denis P
Désolé j'avais trop simplifié ma demande, c'est un peu plus compliqué que
cela en fait. Dans la réalité dans la table Activite j'ai plusieurs
autre
champs que je récupère, comme par exemple la date, le nom de l'employé et
une description de l'activité. Donc malgré tous les autres champs que je
souhaite obtenir dans le résultat de ma requête, comment dois-je faire
pour
avoir un regroupement sur la dernière activité basé uniquement sur mon
champ
act_serv_id.
Excusez-moi de ne pas avoir été assez précis
Désolé j'avais trop simplifié ma demande, c'est un peu plus compliqué que
cela en fait. Dans la réalité dans la table Activite j'ai plusieurs
autre
champs que je récupère, comme par exemple la date, le nom de l'employé et
une description de l'activité. Donc malgré tous les autres champs que je
souhaite obtenir dans le résultat de ma requête, comment dois-je faire
pour
avoir un regroupement sur la dernière activité basé uniquement sur mon
champ
act_serv_id.
Excusez-moi de ne pas avoir été assez précis
Désolé j'avais trop simplifié ma demande, c'est un peu plus compliqué que
cela en fait. Dans la réalité dans la table Activite j'ai plusieurs
autre
champs que je récupère, comme par exemple la date, le nom de l'employé et
une description de l'activité. Donc malgré tous les autres champs que je
souhaite obtenir dans le résultat de ma requête, comment dois-je faire
pour
avoir un regroupement sur la dernière activité basé uniquement sur mon
champ
act_serv_id.
Excusez-moi de ne pas avoir été assez précis
Je viens de relire plusieurs fois ton post, le act_id est bien un numauto
?
si tu tries acsendant sur ce champ, en groupant sur act_serv_id ,
l'enregistrement à garder est bien le dernier ? donc si on met l'opération
dernier sur tous les champs on doit récupérer les dernières valeurs
enregustrées. si le numauto n'est pas bon, un tri sur la date devrait
aller.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
"Denis P" a écrit dans le message de
news:Désolé j'avais trop simplifié ma demande, c'est un peu plus compliqué
que
cela en fait. Dans la réalité dans la table Activite j'ai plusieurs
autrechamps que je récupère, comme par exemple la date, le nom de l'employé
et
une description de l'activité. Donc malgré tous les autres champs que
je
souhaite obtenir dans le résultat de ma requête, comment dois-je faire
pouravoir un regroupement sur la dernière activité basé uniquement sur mon
champact_serv_id.
Excusez-moi de ne pas avoir été assez précis
Je viens de relire plusieurs fois ton post, le act_id est bien un numauto
?
si tu tries acsendant sur ce champ, en groupant sur act_serv_id ,
l'enregistrement à garder est bien le dernier ? donc si on met l'opération
dernier sur tous les champs on doit récupérer les dernières valeurs
enregustrées. si le numauto n'est pas bon, un tri sur la date devrait
aller.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
"Denis P" <denispronovostNospam@sympatico.ca> a écrit dans le message de
news:u1cCiOpvDHA.4060@TK2MSFTNGP11.phx.gbl...
Désolé j'avais trop simplifié ma demande, c'est un peu plus compliqué
que
cela en fait. Dans la réalité dans la table Activite j'ai plusieurs
autre
champs que je récupère, comme par exemple la date, le nom de l'employé
et
une description de l'activité. Donc malgré tous les autres champs que
je
souhaite obtenir dans le résultat de ma requête, comment dois-je faire
pour
avoir un regroupement sur la dernière activité basé uniquement sur mon
champ
act_serv_id.
Excusez-moi de ne pas avoir été assez précis
Je viens de relire plusieurs fois ton post, le act_id est bien un numauto
?
si tu tries acsendant sur ce champ, en groupant sur act_serv_id ,
l'enregistrement à garder est bien le dernier ? donc si on met l'opération
dernier sur tous les champs on doit récupérer les dernières valeurs
enregustrées. si le numauto n'est pas bon, un tri sur la date devrait
aller.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
"Denis P" a écrit dans le message de
news:Désolé j'avais trop simplifié ma demande, c'est un peu plus compliqué
que
cela en fait. Dans la réalité dans la table Activite j'ai plusieurs
autrechamps que je récupère, comme par exemple la date, le nom de l'employé
et
une description de l'activité. Donc malgré tous les autres champs que
je
souhaite obtenir dans le résultat de ma requête, comment dois-je faire
pouravoir un regroupement sur la dernière activité basé uniquement sur mon
champact_serv_id.
Excusez-moi de ne pas avoir été assez précis
Bonjour Raymond, effectivement act_id est un numéro auto, le problème
c'est
justement que Access refuse que je groupe seulement sur act_serv_id. Ça
serait tellement simple si on pouvait le faire. Donc je dois inclure dans
le Group By tous les champs que j'ai placé dans le SELECT sinon j'obtiens
une erreur. Je me demande bien pourquoi les SGBD ne permettent pas de
grouper seulement sur un champ dans la clause GROUP BY.
Finalement, la seule solution que j'ai trouvé c'est d'inclure une
sous-requête dans ma requête. Ce qui donne ceci
SELECT act_serv_id, act_heure, act_description, MAX(act_id)
FROM Activite
WHERE act_id IN ( SELECT MAX(act_id) FROM Activite GROUP BY act_serv_id)
De cette façon j'obtiens seulement les enregistrements que je désire.
Merci de t'être penché sur mon problème.
@ +
Denis P
"Raymond [mvp]" a écrit dans le message de
news:ujB%Je viens de relire plusieurs fois ton post, le act_id est bien un
numauto
?si tu tries acsendant sur ce champ, en groupant sur act_serv_id ,
l'enregistrement à garder est bien le dernier ? donc si on met
l'opération
dernier sur tous les champs on doit récupérer les dernières valeurs
enregustrées. si le numauto n'est pas bon, un tri sur la date devrait
aller.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
"Denis P" a écrit dans le message de
news:Désolé j'avais trop simplifié ma demande, c'est un peu plus compliqué
quecela en fait. Dans la réalité dans la table Activite j'ai plusieurs
autrechamps que je récupère, comme par exemple la date, le nom de l'employé
etune description de l'activité. Donc malgré tous les autres champs que
jesouhaite obtenir dans le résultat de ma requête, comment dois-je faire
pouravoir un regroupement sur la dernière activité basé uniquement sur mon
champact_serv_id.
Excusez-moi de ne pas avoir été assez précis
Bonjour Raymond, effectivement act_id est un numéro auto, le problème
c'est
justement que Access refuse que je groupe seulement sur act_serv_id. Ça
serait tellement simple si on pouvait le faire. Donc je dois inclure dans
le Group By tous les champs que j'ai placé dans le SELECT sinon j'obtiens
une erreur. Je me demande bien pourquoi les SGBD ne permettent pas de
grouper seulement sur un champ dans la clause GROUP BY.
Finalement, la seule solution que j'ai trouvé c'est d'inclure une
sous-requête dans ma requête. Ce qui donne ceci
SELECT act_serv_id, act_heure, act_description, MAX(act_id)
FROM Activite
WHERE act_id IN ( SELECT MAX(act_id) FROM Activite GROUP BY act_serv_id)
De cette façon j'obtiens seulement les enregistrements que je désire.
Merci de t'être penché sur mon problème.
@ +
Denis P
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message de
news:ujB%23depvDHA.2080@TK2MSFTNGP10.phx.gbl...
Je viens de relire plusieurs fois ton post, le act_id est bien un
numauto
?
si tu tries acsendant sur ce champ, en groupant sur act_serv_id ,
l'enregistrement à garder est bien le dernier ? donc si on met
l'opération
dernier sur tous les champs on doit récupérer les dernières valeurs
enregustrées. si le numauto n'est pas bon, un tri sur la date devrait
aller.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
"Denis P" <denispronovostNospam@sympatico.ca> a écrit dans le message de
news:u1cCiOpvDHA.4060@TK2MSFTNGP11.phx.gbl...
Désolé j'avais trop simplifié ma demande, c'est un peu plus compliqué
que
cela en fait. Dans la réalité dans la table Activite j'ai plusieurs
autre
champs que je récupère, comme par exemple la date, le nom de l'employé
et
une description de l'activité. Donc malgré tous les autres champs que
je
souhaite obtenir dans le résultat de ma requête, comment dois-je faire
pour
avoir un regroupement sur la dernière activité basé uniquement sur mon
champ
act_serv_id.
Excusez-moi de ne pas avoir été assez précis
Bonjour Raymond, effectivement act_id est un numéro auto, le problème
c'est
justement que Access refuse que je groupe seulement sur act_serv_id. Ça
serait tellement simple si on pouvait le faire. Donc je dois inclure dans
le Group By tous les champs que j'ai placé dans le SELECT sinon j'obtiens
une erreur. Je me demande bien pourquoi les SGBD ne permettent pas de
grouper seulement sur un champ dans la clause GROUP BY.
Finalement, la seule solution que j'ai trouvé c'est d'inclure une
sous-requête dans ma requête. Ce qui donne ceci
SELECT act_serv_id, act_heure, act_description, MAX(act_id)
FROM Activite
WHERE act_id IN ( SELECT MAX(act_id) FROM Activite GROUP BY act_serv_id)
De cette façon j'obtiens seulement les enregistrements que je désire.
Merci de t'être penché sur mon problème.
@ +
Denis P
"Raymond [mvp]" a écrit dans le message de
news:ujB%Je viens de relire plusieurs fois ton post, le act_id est bien un
numauto
?si tu tries acsendant sur ce champ, en groupant sur act_serv_id ,
l'enregistrement à garder est bien le dernier ? donc si on met
l'opération
dernier sur tous les champs on doit récupérer les dernières valeurs
enregustrées. si le numauto n'est pas bon, un tri sur la date devrait
aller.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA
"Denis P" a écrit dans le message de
news:Désolé j'avais trop simplifié ma demande, c'est un peu plus compliqué
quecela en fait. Dans la réalité dans la table Activite j'ai plusieurs
autrechamps que je récupère, comme par exemple la date, le nom de l'employé
etune description de l'activité. Donc malgré tous les autres champs que
jesouhaite obtenir dans le résultat de ma requête, comment dois-je faire
pouravoir un regroupement sur la dernière activité basé uniquement sur mon
champact_serv_id.
Excusez-moi de ne pas avoir été assez précis
Désolé, je me suis trompé quelque peu. la requête doit être
SELECT act_serv_id, act_heure, act_description, MAX(act_id)
FROM Activite
WHERE act_id IN ( SELECT MAX(act_id) FROM Activite GROUP BY act_serv_id)
GROUP BY act_serv_id, act_heure, act_description
Même ici je dois ajouter le GROUP BY avec tous les champs du SELECT sinon
il
y a erreur, je trouve cela un peu aberrant la façon de fonctionner du
GROUP
BY. Un GROUP BY dans une sous-requête et il faut ajouter un GROUP BY dans
la requête principale avec tous les champs. Vraiment où les ingénieurs
avaient la tête lorsqu'ils ont conçu ce principe.
Désolé, je me suis trompé quelque peu. la requête doit être
SELECT act_serv_id, act_heure, act_description, MAX(act_id)
FROM Activite
WHERE act_id IN ( SELECT MAX(act_id) FROM Activite GROUP BY act_serv_id)
GROUP BY act_serv_id, act_heure, act_description
Même ici je dois ajouter le GROUP BY avec tous les champs du SELECT sinon
il
y a erreur, je trouve cela un peu aberrant la façon de fonctionner du
GROUP
BY. Un GROUP BY dans une sous-requête et il faut ajouter un GROUP BY dans
la requête principale avec tous les champs. Vraiment où les ingénieurs
avaient la tête lorsqu'ils ont conçu ce principe.
Désolé, je me suis trompé quelque peu. la requête doit être
SELECT act_serv_id, act_heure, act_description, MAX(act_id)
FROM Activite
WHERE act_id IN ( SELECT MAX(act_id) FROM Activite GROUP BY act_serv_id)
GROUP BY act_serv_id, act_heure, act_description
Même ici je dois ajouter le GROUP BY avec tous les champs du SELECT sinon
il
y a erreur, je trouve cela un peu aberrant la façon de fonctionner du
GROUP
BY. Un GROUP BY dans une sous-requête et il faut ajouter un GROUP BY dans
la requête principale avec tous les champs. Vraiment où les ingénieurs
avaient la tête lorsqu'ils ont conçu ce principe.
Bonjour tout le monde,
Supposons une table Activite lié à une table Service. La table Activité
enregistre chaque activité pour un service.
Table Activité
act_id
act_serv_id
act_heure
Je veux récupérer de la table activité la dernière activité pour chaque
service ainsi que l'heure de l'activité. Disons que le contenu de la table
ressemble à ceci
act_id act_serv_id act_heure
1 1 10:00
2 1 13:00
3 2 11:30
4 1 16:15
5 2 15:45
Je voudrais donc que le résultat de ma requête me donne
act_id act_serv_id act_heure
4 1 16:15
5 2 15:45
Si je fais une requête pour récupérer seulement la dernière activité pour
chaque service sans tenir compte de l'heure pas de problème je fais
SELECT act_serv_id, MAX(act_id)
FROM Activite
GROUP BY act_serv_id
Par contre si je fais la même chose en ajoutant l'heure, alors là
j'obtiens
tous les enregistrements puisque l'heure est différente pour chacun.
SELECT act_serv_id, act_heure, MAX(act_id)
FROM Activite
GROUP BY act_serv_id, act_heure
Puisque je suis obligé de mettre et le service et l'heure dans la clause
GROUP BY, forcément je reçois tous les enregistrements.
Donc il doit bien avoir une façon de regrouper mes enregistrements pour
obtenir seulement la dernière activité pour chaque service en ayant
l'heure
de cette activité d'inclus dans le résultat de ma requête.
Merci pour vos toujours précieuses suggestions.
Denis P
Bonjour tout le monde,
Supposons une table Activite lié à une table Service. La table Activité
enregistre chaque activité pour un service.
Table Activité
act_id
act_serv_id
act_heure
Je veux récupérer de la table activité la dernière activité pour chaque
service ainsi que l'heure de l'activité. Disons que le contenu de la table
ressemble à ceci
act_id act_serv_id act_heure
1 1 10:00
2 1 13:00
3 2 11:30
4 1 16:15
5 2 15:45
Je voudrais donc que le résultat de ma requête me donne
act_id act_serv_id act_heure
4 1 16:15
5 2 15:45
Si je fais une requête pour récupérer seulement la dernière activité pour
chaque service sans tenir compte de l'heure pas de problème je fais
SELECT act_serv_id, MAX(act_id)
FROM Activite
GROUP BY act_serv_id
Par contre si je fais la même chose en ajoutant l'heure, alors là
j'obtiens
tous les enregistrements puisque l'heure est différente pour chacun.
SELECT act_serv_id, act_heure, MAX(act_id)
FROM Activite
GROUP BY act_serv_id, act_heure
Puisque je suis obligé de mettre et le service et l'heure dans la clause
GROUP BY, forcément je reçois tous les enregistrements.
Donc il doit bien avoir une façon de regrouper mes enregistrements pour
obtenir seulement la dernière activité pour chaque service en ayant
l'heure
de cette activité d'inclus dans le résultat de ma requête.
Merci pour vos toujours précieuses suggestions.
Denis P
Bonjour tout le monde,
Supposons une table Activite lié à une table Service. La table Activité
enregistre chaque activité pour un service.
Table Activité
act_id
act_serv_id
act_heure
Je veux récupérer de la table activité la dernière activité pour chaque
service ainsi que l'heure de l'activité. Disons que le contenu de la table
ressemble à ceci
act_id act_serv_id act_heure
1 1 10:00
2 1 13:00
3 2 11:30
4 1 16:15
5 2 15:45
Je voudrais donc que le résultat de ma requête me donne
act_id act_serv_id act_heure
4 1 16:15
5 2 15:45
Si je fais une requête pour récupérer seulement la dernière activité pour
chaque service sans tenir compte de l'heure pas de problème je fais
SELECT act_serv_id, MAX(act_id)
FROM Activite
GROUP BY act_serv_id
Par contre si je fais la même chose en ajoutant l'heure, alors là
j'obtiens
tous les enregistrements puisque l'heure est différente pour chacun.
SELECT act_serv_id, act_heure, MAX(act_id)
FROM Activite
GROUP BY act_serv_id, act_heure
Puisque je suis obligé de mettre et le service et l'heure dans la clause
GROUP BY, forcément je reçois tous les enregistrements.
Donc il doit bien avoir une façon de regrouper mes enregistrements pour
obtenir seulement la dernière activité pour chaque service en ayant
l'heure
de cette activité d'inclus dans le résultat de ma requête.
Merci pour vos toujours précieuses suggestions.
Denis P
Salut,
A-t-on essayé une des quatre méthodes expliquées dans
http://www.mvps.org/accessfr/queries/qry0020.htm ?
Espérant être utile,
Vanderghast, Access MVP
"Denis P" wrote in message
news:%Bonjour tout le monde,
Supposons une table Activite lié à une table Service. La table Activité
enregistre chaque activité pour un service.
Table Activité
act_id
act_serv_id
act_heure
Je veux récupérer de la table activité la dernière activité pour chaque
service ainsi que l'heure de l'activité. Disons que le contenu de la
table
ressemble à ceci
act_id act_serv_id act_heure
1 1 10:00
2 1 13:00
3 2 11:30
4 1 16:15
5 2 15:45
Je voudrais donc que le résultat de ma requête me donne
act_id act_serv_id act_heure
4 1 16:15
5 2 15:45
Si je fais une requête pour récupérer seulement la dernière activité
pour
chaque service sans tenir compte de l'heure pas de problème je fais
SELECT act_serv_id, MAX(act_id)
FROM Activite
GROUP BY act_serv_id
Par contre si je fais la même chose en ajoutant l'heure, alors là
j'obtienstous les enregistrements puisque l'heure est différente pour chacun.
SELECT act_serv_id, act_heure, MAX(act_id)
FROM Activite
GROUP BY act_serv_id, act_heure
Puisque je suis obligé de mettre et le service et l'heure dans la clause
GROUP BY, forcément je reçois tous les enregistrements.
Donc il doit bien avoir une façon de regrouper mes enregistrements pour
obtenir seulement la dernière activité pour chaque service en ayant
l'heurede cette activité d'inclus dans le résultat de ma requête.
Merci pour vos toujours précieuses suggestions.
Denis P
Salut,
A-t-on essayé une des quatre méthodes expliquées dans
http://www.mvps.org/accessfr/queries/qry0020.htm ?
Espérant être utile,
Vanderghast, Access MVP
"Denis P" <denispronovostNospam@sympatico.ca> wrote in message
news:%23kDvDoovDHA.2260@TK2MSFTNGP09.phx.gbl...
Bonjour tout le monde,
Supposons une table Activite lié à une table Service. La table Activité
enregistre chaque activité pour un service.
Table Activité
act_id
act_serv_id
act_heure
Je veux récupérer de la table activité la dernière activité pour chaque
service ainsi que l'heure de l'activité. Disons que le contenu de la
table
ressemble à ceci
act_id act_serv_id act_heure
1 1 10:00
2 1 13:00
3 2 11:30
4 1 16:15
5 2 15:45
Je voudrais donc que le résultat de ma requête me donne
act_id act_serv_id act_heure
4 1 16:15
5 2 15:45
Si je fais une requête pour récupérer seulement la dernière activité
pour
chaque service sans tenir compte de l'heure pas de problème je fais
SELECT act_serv_id, MAX(act_id)
FROM Activite
GROUP BY act_serv_id
Par contre si je fais la même chose en ajoutant l'heure, alors là
j'obtiens
tous les enregistrements puisque l'heure est différente pour chacun.
SELECT act_serv_id, act_heure, MAX(act_id)
FROM Activite
GROUP BY act_serv_id, act_heure
Puisque je suis obligé de mettre et le service et l'heure dans la clause
GROUP BY, forcément je reçois tous les enregistrements.
Donc il doit bien avoir une façon de regrouper mes enregistrements pour
obtenir seulement la dernière activité pour chaque service en ayant
l'heure
de cette activité d'inclus dans le résultat de ma requête.
Merci pour vos toujours précieuses suggestions.
Denis P
Salut,
A-t-on essayé une des quatre méthodes expliquées dans
http://www.mvps.org/accessfr/queries/qry0020.htm ?
Espérant être utile,
Vanderghast, Access MVP
"Denis P" wrote in message
news:%Bonjour tout le monde,
Supposons une table Activite lié à une table Service. La table Activité
enregistre chaque activité pour un service.
Table Activité
act_id
act_serv_id
act_heure
Je veux récupérer de la table activité la dernière activité pour chaque
service ainsi que l'heure de l'activité. Disons que le contenu de la
table
ressemble à ceci
act_id act_serv_id act_heure
1 1 10:00
2 1 13:00
3 2 11:30
4 1 16:15
5 2 15:45
Je voudrais donc que le résultat de ma requête me donne
act_id act_serv_id act_heure
4 1 16:15
5 2 15:45
Si je fais une requête pour récupérer seulement la dernière activité
pour
chaque service sans tenir compte de l'heure pas de problème je fais
SELECT act_serv_id, MAX(act_id)
FROM Activite
GROUP BY act_serv_id
Par contre si je fais la même chose en ajoutant l'heure, alors là
j'obtienstous les enregistrements puisque l'heure est différente pour chacun.
SELECT act_serv_id, act_heure, MAX(act_id)
FROM Activite
GROUP BY act_serv_id, act_heure
Puisque je suis obligé de mettre et le service et l'heure dans la clause
GROUP BY, forcément je reçois tous les enregistrements.
Donc il doit bien avoir une façon de regrouper mes enregistrements pour
obtenir seulement la dernière activité pour chaque service en ayant
l'heurede cette activité d'inclus dans le résultat de ma requête.
Merci pour vos toujours précieuses suggestions.
Denis P