Pb avec un Union et order .. - SQL/NoSQL - Programmation
Marsh Posté le 21-06-2006 à 00:39:35
Complément
Pourquoi faire un union sur une même table ?
A+
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
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'..)
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
?
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
Marsh Posté le 22-06-2006 à 20:24:22
Merci grand chef !
Je ne savais pas qu'on pouvais jouer avec l'order comme cela ..
Marsh Posté le 03-08-2006 à 22:20:41
joce a écrit : ou plus court : |
Bonjour
pourrais tu me donner un coup de main sur ce message :
http://forum.hardware.fr/hardwaref [...] 4643-1.htm
merci d'avance
Marsh Posté le 20-06-2006 à 21:47:02
Bonjour
J'esaye de faire une petite requête, mais ca veut pas
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)