Pb avec un Union et order ..

Pb avec un Union et order .. - SQL/NoSQL - Programmation

Marsh Posté le 20-06-2006 à 21:47:02    

Bonjour :)
 
J'esaye de faire une petite requête, mais ca veut pas :o :(
 
Donc j'ai une table ppl avec un champ name et fonction ..il y a 5 fonctions s,a,b,c,d et n
Je voudrais afficher tous les noms classés tout d'abord par fonction dans l'ordre s,a,b,c,d,n, et pour chque fonction trier par nom..quelqu'un aurait t'il une idée ?
 
J'ai essayé un peut de tout, mais à chaque fois, ça n'affiche pas le bon résultat .. :/
 
(SELECT name FROM `ppl` WHERE fonction`='s'  order by name) union (SELECT name FROM ppl WHERE fonction!='s' order by fonction,name) c'est la plus logique , mais celle la ne fonctionne pas, j'en ai essayé plein d'autre mais rien ..
 
celle la aussi rien ..
(SELECT name FROM `ppl` WHERE `fonction`='s'  order by name)
union
(SELECT name FROM `ppl` WHERE `fonction`='a'  order by name)
union
(SELECT name FROM `ppl` WHERE `fonction`='b'  order by name)
union
(SELECT name FROM `ppl` WHERE `fonction`='c'  order by name)
union
(SELECT name FROM `ppl` WHERE `fonction`='d'  order by name)
union
(SELECT name FROM `ppl` WHERE `fonction`='n'  order by name)

Reply

Marsh Posté le 20-06-2006 à 21:47:02   

Reply

Marsh Posté le 21-06-2006 à 00:36:14    

En principe  
Order by fonction, name
est suffisant
A+

Reply

Marsh Posté le 21-06-2006 à 00:39:35    

Complément
Pourquoi faire un union sur une même table ?
A+

Reply

Marsh Posté le 21-06-2006 à 00:43:13    

Select fonction, name from 'ppl' where fonction in ('s', 'a', 'b', 'c', 'd', 'n') order by fonction, name

Reply

Marsh Posté le 22-06-2006 à 00:24:23    

Citation :

Select fonction, name from 'ppl' where fonction in ('s', 'a', 'b', 'c', 'd', 'n') order by fonction, name


elle ne marche pas .. ca fait un tri par name groupé par fonction certes .. mais le 's' est tout à la fin, il doit être en premier..
 
et si je fait un union sur la même table, c'est qu'il y a 2 order, et que l'un d'entre eux doit être avant les autres et qu'il ne respecte pas la liste ..(le 's' avant le 'a'..)

Reply

Marsh Posté le 22-06-2006 à 01:08:20    

Select fonction, name from 'ppl' where fonction in ('s', 'a', 'b', 'c', 'd', 'n') order by fonction='s' DESC,fonction='a' DESC,fonction='b' DESC,fonction='c' DESC,fonction='d' DESC,fonction='n' DESC, name
 
?

Reply

Marsh Posté le 22-06-2006 à 01:11:50    

ou plus court :
 
Select fonction, name from 'ppl' where fonction in ('s', 'a', 'b', 'c', 'd', 'n') order by fonction='s' DESC,fonction, name

Reply

Marsh Posté le 22-06-2006 à 20:24:22    

:bounce: Merci grand chef ! :) :o  
Je ne savais pas qu'on pouvais jouer avec l'order comme cela .. :o

Reply

Marsh Posté le 03-08-2006 à 22:20:41    

joce a écrit :

ou plus court :
 
Select fonction, name from 'ppl' where fonction in ('s', 'a', 'b', 'c', 'd', 'n') order by fonction='s' DESC,fonction, name


 
Bonjour
pourrais tu me donner un coup de main sur ce message :
http://forum.hardware.fr/hardwaref [...] 4643-1.htm
merci d'avance


---------------
http://www.ypikay.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed