Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
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 17/12/2007, 17h31   #1
Membre éprouvé
 
Homme
Consultant en Business Intelligence
Inscription : mai 2003
Messages : 910
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : mai 2003
Messages : 910
Points : 407
Points : 407
Par défaut [Oracle 10g] Tri par préférence ?!

Bonjour à tous,

j'ai une requête qui me ramène en dernière colonne les éléments suivants : ACT, ACC, DEM, CL et IN.

Seulement je souhaite récupérer mon résultat trié non pas par ordre alphabétique, mais selon mes préférences.

Ce que je souhaite :
Citation:
NOM | PRENOM | CODE | VAL
DUC | OLIVER | 1234 | ACT
DUC | OLIVER | 1235 | ACT
DUC | OLIVER | 1236 | ACT
DUC | OLIVER | 1230 | ACC
DUC | OLIVER | 1239 | ACC
DUC | OLIVER | 1231 | ACC
DUC | OLIVER | 1439 | ACC
DUC | OLIVER | 1289 | DEM
DUC | OLIVER | 2239 | DEM
DUC | OLIVER | 8239 | DEM
DUC | OLIVER | 1039 | CL
DUC | OLIVER | 1299 | CL
DUC | OLIVER | 1279 | CL
DUC | OLIVER | 1939 | CL
DUC | OLIVER | 7289 | IN
DUC | OLIVER | 0239 | IN
Comme vous pouvez le constater je souhaite que la dernière colonne soit trier, mais dans l'ordre indiqué au départ et non pas selon l'ordre alphabétique.

Est-ce possible ?

J'ai rien trouvé sur le forum, ni dans la doc papier que j'ai ... en même temps je connais pas le nom de ce que je recherche !
__________________
Quand on n'a pas d'tête, on a ...
ghohm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2007, 17h41   #2
Membre régulier
 
Inscription : mai 2007
Messages : 173
Détails du profil
Informations personnelles :
Âge : 42
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : mai 2007
Messages : 173
Points : 70
Points : 70
qu'est ce que tu entends par ordre de départ?
genre ACT, DEM, ACC, CL et IN ?

si c'est le cas, je creerais une table d'ordre contenant :

Code :
1
2
3
4
5
6
7
TABLE_ORDRE
ORDRE VALEUR
1 ACT
2 DEM
3 ACC 
4 CL
5 IN
puis tu trie ton résultat comme ca :

Code :
1
2
3
SELECT * FROM TA_TABLE, TABLE_ORDRE
WHERE TA_TABLE.VAL = TABLE_ORDRE.VALEUR
ordre BY TABLE_ORDRE.ORDRE
ca répond à ta question?
pdelorme est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2007, 17h42   #3
McM
Expert Confirmé Sénior
 
Inscription : juillet 2003
Messages : 3 453
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 3 453
Points : 4 215
Points : 4 215
C'est pas clair, c'est quoi ton ordre de départ ?
__________________
More Code : More Bugs. Less Code : Less Bugs
McM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2007, 17h48   #4
Membre éprouvé
 
Homme
Consultant en Business Intelligence
Inscription : mai 2003
Messages : 910
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : mai 2003
Messages : 910
Points : 407
Points : 407
Citation:
Envoyé par McM Voir le message
C'est pas clair, c'est quoi ton ordre de départ ?
Dans ma table le champ "VAL" possède les valeurs ACT, DEM, ACC, CL ou IN. Cette valeur est attribuée à un NOM, un PRENOM et un CODE.

Toutefois, le résultat de ma requête doit pouvoir être utilisé tel quel. Le besoin est que les éléments du champ "VAL" soit trié dans l'ordre suivant : ACT, DEM, ACC, CL et enfin IN.

Je crois que pdelorme a bien répondu à ma question, mais ça m'oblie à créer une table temporaire ... ce qui va pas plaire au DBA !
__________________
Quand on n'a pas d'tête, on a ...
ghohm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2007, 18h04   #5
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
Code :
1
2
3
4
5
6
7
SELECT nom, 
           prenom, 
           code , 
           val, 
           DECODE(val,'ACT',1,'DEM',2,'ACC',3,'CL',4,'IN',5,99) ordre
FROM latable
ORDER BY ordre
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2007, 18h15   #6
Membre éprouvé
 
Homme
Consultant en Business Intelligence
Inscription : mai 2003
Messages : 910
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Consultant en Business Intelligence

Informations forums :
Inscription : mai 2003
Messages : 910
Points : 407
Points : 407
Ah bah c'est sûr que si c'est orafrance qui répond là j'suis bien obligé de mettre à !

Merci à tous et surtout à orafrance !


Allez hop grâce à vous je rentre chez moi tout de suite !
__________________
Quand on n'a pas d'tête, on a ...
ghohm 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 07h26.


 
 
 
 
Partenaires

Hébergement Web