[SQL] Faire un Select avec un certain ordre

Faire un Select avec un certain ordre [SQL] - SQL/NoSQL - Programmation

Marsh Posté le 18-01-2007 à 23:25:45    

Bonjour :)
 
Je voudrais faire un "select" sur une table qui me renverrait pas exemple : 1, 2, 3, 4...
Seulement, comment puis-je faire pour que mon select place le "3" en 1ère, c'est-à-dire obtenir : 3, 1, 2, 4...
On peut le faire ça ??
Merci bien :)

Reply

Marsh Posté le 18-01-2007 à 23:25:45   

Reply

Marsh Posté le 19-01-2007 à 07:57:23    

Quel SGBD ?
 
parceque l'idée serait de faire un  
select (cas mavariable = 3 alors 0 sinon mavariable), ...
 
order by (cas mavariable = 3 alors 0 sinon mavariable)
 
Tu vois le genre ?
 
 

Reply

Marsh Posté le 19-01-2007 à 12:20:17    

Ah pardon... je travaille avec SQL Server 2005 (Express).  
 
Ce que tu proposes est intéressant, mais le problème c'est que je perds l'information "3" si je la remplace par le "0" :(
Tu vas me dire que de toute façon je sais, qd je fais la requête, que si il y a "0", bin ça correspond au "3". Mais bon, je veux faire ça proprement avec une requête magique :)
Merci bien en tout cas, et si tu as d'autres idées :)

Reply

Marsh Posté le 19-01-2007 à 12:56:27    

le tri et les données à afficher sont 2 choses <>
 
Sous Sql server il faut utiliser case je crois ...
=>
select monchamp1 , monchamp2, (case monchamp1 .. : 3 sinon 0)
order by (case monchamp1 .. : 3 sinon 0)
 

Reply

Marsh Posté le 19-01-2007 à 13:31:24    

pas si tu fais, ca t'ajoute un champ dans ta requete:
select (cas mavariable = 3 alors 0 sinon mavariable) as pourtri, mavariable, ... where ... order by pourtri
 

Reply

Marsh Posté le 19-01-2007 à 14:15:55    

Ah oui, pas bête :)
Merci bien :)

Reply

Sujets relatifs:

Leave a Replay

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