problème pour trouver la bonne requête... - SQL/NoSQL - Programmation
Marsh Posté le 26-08-2011 à 22:25:04
select ancien_service From Table where date_changement between date and "date -1 jour" ?
Marsh Posté le 26-08-2011 à 22:40:12
clements42 a écrit : ... |
Souvent, en SQL, si on ne trouve pas la réponse, c'est qu'il faut changer la question
En fait, tu cherche le service qu'à rejoint l'employé lors de son dernier changement ayant eu lieu avant la date qui t'intéresse :
SELECT nouveau_service |
(le LIMIT 1, c'est du MySQL, doit bien y avoir un équivalent sous Access)
Marsh Posté le 26-08-2011 à 23:05:20
Merci bien à vous deux. J'ai trouvé une solution qui ressemble très fortement à la tienne mrbebert. D'ailleurs, il me semble bien que ton "desc" dans le order by est inutile, non ?
Marsh Posté le 26-08-2011 à 23:16:31
Ah non. La date la plus récente, c'est la 1ère quand on tri par ordre décroissant. Si tu ne mets pas le ORDER BY, le SGBD est susceptible de te renvoyer n'importe quelle ligne.
Marsh Posté le 29-08-2011 à 08:55:16
Ca depend du clustered index en fait, peut etre que c'est le cas dans la table de clements.
Mais evidement il vaut mieux eviter de se baser la dessus et faire comme mrbebert dit et mettre le order by.
Marsh Posté le 26-08-2011 à 22:12:08
bonsoir,
je rencontre des difficultés pour trouver quelle requête sql me renverrait le bon résultat à ma problématique que voici :
un salarié à un instant T fait partie d'un service. Il change régulièrement de service.
j'ai une table (base access) dans laquelle je stocke les changement de services, qui comporte ces champs :
id_salarie | date_changement | ancien_service | nouveau_service
exemple de données :
32 | 05/12/2010 | 12 | 7
32 | 15/12/2010 | 7 | 8
Je souhaiterais savoir, à partir d'une date, dans quel service se trouvait un salarié donné à ce moment là (un salarié ne peut pas rester moins de 2 jours dans un même service).
Je pensais que c'était tout simple, mais je tourne un peu en rond.
si certains ont des pistes...
Merci
Message édité par clements42 le 26-08-2011 à 22:12:31