Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/02/2011, 11h38   #1
Membre éprouvé
 
Avatar de Dendrite
 
Femme Sylvie VAUTHIER
Développeuse Web
Inscription : juin 2008
Messages : 450
Détails du profil
Informations personnelles :
Nom : Femme Sylvie VAUTHIER
Âge : 46
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeuse Web
Secteur : Enseignement

Informations forums :
Inscription : juin 2008
Messages : 450
Points : 401
Points : 401
Par défaut order by champ asc si champ positif

Bonjour les relationnels

J'ai une table commande qui recense les commandes à préparer, une table preparateur qui recense les préparateurs de l' entreprise.
Je veux que s'affiche pour le préparateur 253 toutes les commandes, avec le cas échéant son commentaire et son diagnostic de traitement (champ traite et commentaire).

Jusque-là tout va bien.

Je voudrais maintenant les classer selon que delaifin (le nombre de jours qu'il nous reste avant la date de fin) soit croissant, mais pas négatif (ce qui est mort est mort, ce n'est plus urgent, mais je veux tout de même qu'il s'affiche après la liste des délais positifs).

Comment organiser mon order by conditionnel ?
Je voudrais ce genre d'ordre d'affichage pour le champ delaifin 2, 3, 25, -2,-7 etc...

Code :
1
2
3
4
5
SELECT commande.numcom, intitule, debut, fin, TO_DAYS( debut ) - TO_DAYS( NOW( ) ) AS delaideb, TO_DAYS( fin ) - TO_DAYS( NOW( ) ) AS delaifin, traite, commentaire
FROM `commande`
LEFT OUTER JOIN `preparateur` ON ( `commande`.numcom = `preparateur`.numcom
AND `preparateur`.numprep = 253 )
ORDER BY delaifin
D'avance merci de votre réflexion.
__________________
C'est moi qui l'ai fait !
PHP : Le tutoriel pour grands débutants pressés
Dendrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/02/2011, 16h28   #2
Membre Expert
 
Avatar de Nudger
 
Homme Thomas Arnaud
Directeur de projet
Inscription : octobre 2010
Messages : 452
Détails du profil
Informations personnelles :
Nom : Homme Thomas Arnaud
Âge : 36
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Directeur de projet
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2010
Messages : 452
Points : 1 012
Points : 1 012
Envoyer un message via Skype™ à Nudger
Bonjour,

Une clause order by comme celle-ci devrait fonctionner:

Code :
ORDER BY (case when delaifin >0 then delaifin else 1000-delaifin end);
Le "1000" est à ajuster en fonction des valeurs de delaifin.
Ca ne marche que si l'écart entre le max et le min delaifin est toujours < 1000.
__________________
www.nudge.org Surveillez et optimisez vos applications Java
Nudger est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2011, 10h56   #3
Membre éprouvé
 
Avatar de Dendrite
 
Femme Sylvie VAUTHIER
Développeuse Web
Inscription : juin 2008
Messages : 450
Détails du profil
Informations personnelles :
Nom : Femme Sylvie VAUTHIER
Âge : 46
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeuse Web
Secteur : Enseignement

Informations forums :
Inscription : juin 2008
Messages : 450
Points : 401
Points : 401
Wow, merci Nudger. Ca marche impeccable.
__________________
C'est moi qui l'ai fait !
PHP : Le tutoriel pour grands débutants pressés
Dendrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h23.


 
 
 
 
Partenaires

Hébergement Web