Requete impossible sur 2 dates pour affichage

Résolu
abmail Messages postés 20 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 8 juin 2012 - 8 juin 2012 à 12:09
abmail Messages postés 20 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 8 juin 2012 - 8 juin 2012 à 13:49
bonjour,

J'ai un truc qui me prend la tete depuis pas mal de temp maintenant, peut etre quelqu'un a une solution en sql

Dans une table j'ai 4 champs que je trie par date creation (descendant) :

select * from matable
order by datecreation desc

(ps : a la creation d'un enregistrement et par defaut, datemodif est egal a datecreation (meme date/heure))


Numero / Nom / Date Creation / Date Modification

1 / TOTO / 07/06/2012 10h00 / 07/06/2012 10h00
2 / TATA / 07/06/2012 09H00 / 07/06/2012 09H00
3 / TUTU / 07/06/2012 08H50 / 07/06/2012 08H50
4 / TITI / 06/06/2012 09H00 / 06/06/2012 09H00
5 / TETE / 06/06/2012 08H00 / 06/06/2012 08H00
6 / TYTY / 05/06/2012 09H00 / 05/06/2012 09H00
7 / SOSO / 04/06/2012 07H00 / 04/06/2012 07H00

C'est la ou ca se complique, lorsque je modifie TITI par exemple, j'aimerais que cette MEME liste s'affiche tel que ci-dessous :

1 / TOTO / 07/06/2012 10h00 / 07/06/2012 10h00
2 / TATA / 07/06/2012 09H00 / 07/06/2012 09H00
3 / TUTU / 07/06/2012 08H50 / 07/06/2012 08H50
4 / TETE / 06/06/2012 08H00 / 06/06/2012 08H00
5 / TYTY / 05/06/2012 09H00 / 05/06/2012 09H00
6 / SOSO / 04/06/2012 07H00 / 04/06/2012 07H00
7 / TITI / 06/06/2012 09H00 / 07/06/2012 14H00

puis par exemple, je modifie TUTU ca doit donner :

1 / TOTO / 07/06/2012 10h00 / 07/06/2012 10h00
2 / TATA / 07/06/2012 09H00 / 07/06/2012 09H00
3 / TETE / 06/06/2012 08H00 / 06/06/2012 08H00
4 / TYTY / 05/06/2012 09H00 / 05/06/2012 09H00
5 / SOSO / 04/06/2012 07H00 / 04/06/2012 07H00
6 / TITI / 06/06/2012 09H00 / 07/06/2012 14H00
7 / TUTU / 07/06/2012 08H50 / 07/06/2012 14H22

et ainsi de suite....

Vous voyez le probleme ? pas evident hein !!
jai bien pense a :
SELECT *, DateDiff('n',datemodif, datecreation) AS diff FROM matable
ORDER BY diff, datecreation desc

mais c'est pas vraiment ca (ca fait pas vraiment ce que je veux)

il faudrais que je trouve un moyen de pouvoir trier cette table de cette maniere
je peux eventuellement modifier la table si besoin

si vous avez une idee jsuis preneur car la je rame grave
merci

1 réponse

abmail Messages postés 20 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 8 juin 2012 1
8 juin 2012 à 13:49
ok j'ai donc trouve une astuce en modifiant ma table

1/ j'ai ajouter un champ flagmodif (oui/non)
2/ j'ai mis toutes les datemodif au 01/01/1970

donc je modifie flagmodif a 1 et datemodif a now en cas de modification

et la requete de ma liste est toute simple (finalement)

SELECT * FROM matable
ORDER BY flagmodif, datemodif, datecreation desc

et j'obtiens ce que je veux...
3
Rejoignez-nous