Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2692 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  ordonner les resultats d'une requete SQL !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ordonner les resultats d'une requete SQL !

n°1267024
100top
Posté le 15-12-2005 à 11:01:52  profilanswer
 

Bonjour,
 
en fait j'ai un pb, voila je voudrais sortir les resultats dans l'ordre que je veux ( que je connais deja )
un example vaut mieux qu'un long discours !
 

Code :
  1. // ma requete
  2. $sql="SELECT id_n,n_titre,n_news1 FROM news WHERE id_n IN ('168','147','126','165','155','156','199','159','160','177','201','209','148')"
  3. // je voudrais qu'il me sorte les résultats dans l'ordre que j'ai mis : 168 en 1er 147 en 2eme etc...
  4. // or la il me les sort selon les id_n croissant !
  5. // je n'ai pas mis de order pourtant ! est ce que c'est possible ?


 
merci

mood
Publicité
Posté le 15-12-2005 à 11:01:52  profilanswer
 

n°1267045
Arjuna
Aircraft Ident.: F-MBSD
Posté le 15-12-2005 à 11:29:55  profilanswer
 

c'est TRES simple, mais comme tu vas voir, tu va vite laisser tomber cette idée :D
 

select case id_n when 168 then 1 when 147 then 2 when 126 then 3 ... end dtc, id_n, titre, n_news1 from news where id_n in ('168','147','126','165','155','156','199','159','160','177','201','209','148') order by dtc

n°1267066
100top
Posté le 15-12-2005 à 11:44:15  profilanswer
 

Arjuna a écrit :

c'est TRES simple, mais comme tu vas voir, tu va vite laisser tomber cette idée :D
 

select case id_n when 168 then 1 when 147 then 2 when 126 then 3 ... end dtc, id_n, titre, n_news1 from news where id_n in ('168','147','126','165','155','156','199','159','160','177','201','209','148') order by dtc



 
 
heu  :??:  ca ne ralentit pas trop la requete de faire ca ?
parce que sinon je vais le faire  :pt1cable:

n°1267071
Arjuna
Aircraft Ident.: F-MBSD
Posté le 15-12-2005 à 11:50:19  profilanswer
 

ben ça dépends surtout du nombre de lignes...

n°1267101
belldandys
Posté le 15-12-2005 à 12:08:35  profilanswer
 

oui ou alors
select decode('168',1,'147',2,'126',3.......

n°1267106
Arjuna
Aircraft Ident.: F-MBSD
Posté le 15-12-2005 à 12:11:14  profilanswer
 

case étant supporté par plus de sgbd... ;)

n°1267108
belldandys
Posté le 15-12-2005 à 12:12:16  profilanswer
 

oui, j'y peux rien, je m'oraclise avec le temps :p

n°1267115
Arjuna
Aircraft Ident.: F-MBSD
Posté le 15-12-2005 à 12:17:41  profilanswer
 

j'avais pas remarqué avec tes connect à toutes les sauces ;)
 
c'est super puissant. mais étant à la base orienté web, et maintenant sur un outils multi-plateforme, je me suis tout de suite dit "nan, connect by", super, mais poubelle : vais avoir l'air malain quand on va vouloir porter le truc sur un autre sgbd et que je vais passer plus de temps à réécrire la chose qu'à l'écrire la première fois ;)

n°1267116
100top
Posté le 15-12-2005 à 12:18:34  profilanswer
 

Arjuna a écrit :

ben ça dépends surtout du nombre de lignes...


 
bon ben ca marche c parfait !!!
je te donne les petites lignes de codes si jamais tu voulais le faire :d  
 
 

Code :
  1. $new_array contient tous les id_n
  2. $cased="CASE id_n";
  3.   while (list($key, $val) = each($new_array)) {
  4.    $sql_suite[]="$key";
  5.    $cased.=" when $key then $l";
  6.    $l++;
  7.   }
  8.   $cased.=" END dtc";
  9. // et pour la requete :
  10. $sql_req="SELECT $cased,id_n,n_titre,n_news1 FROM $table_news WHERE id_n IN ('".join("','",$sql_suite)."') ORDER BY dtc";


 
si ca peut t'aider en retour !
bizou

n°1267120
Arjuna
Aircraft Ident.: F-MBSD
Posté le 15-12-2005 à 12:20:53  profilanswer
 

du php :o
 
vade retro :p

mood
Publicité
Posté le 15-12-2005 à 12:20:53  profilanswer
 

n°1267122
100top
Posté le 15-12-2005 à 12:22:25  profilanswer
 

Arjuna a écrit :

du php :o
 
vade retro :p


 
Pardon desole faut le faire en quel langage

n°1267125
Arjuna
Aircraft Ident.: F-MBSD
Posté le 15-12-2005 à 12:24:12  profilanswer
 

n'importe, sauf php ;)
 
mais c'est bon, j'en ai pas besoin, et c'est l'algo qui compte

n°1267129
100top
Posté le 15-12-2005 à 12:25:48  profilanswer
 

Arjuna a écrit :

n'importe, sauf php ;)
 
mais c'est bon, j'en ai pas besoin, et c'est l'algo qui compte


 
 
ok !
bon ben jtb et je retourne sur le php :ouimaitre:

n°1267355
belldandys
Posté le 15-12-2005 à 14:33:51  profilanswer
 

Arjuna a écrit :

j'avais pas remarqué avec tes connect à toutes les sauces ;)
 
c'est super puissant. mais étant à la base orienté web, et maintenant sur un outils multi-plateforme, je me suis tout de suite dit "nan, connect by", super, mais poubelle : vais avoir l'air malain quand on va vouloir porter le truc sur un autre sgbd et que je vais passer plus de temps à réécrire la chose qu'à l'écrire la première fois ;)


 
Parole d'architecte -> Dans toutes structures n tiers, les requetes doivent etre SPECIFIQUES à la BDD, c'est la couche superieure qui doit la multi BDD....

n°1267373
Arjuna
Aircraft Ident.: F-MBSD
Posté le 15-12-2005 à 14:43:47  profilanswer
 

ça c'est une tructure n tiers.
 
moi je parle site web marchand "clé en main".
ma boîte bossait principalement avec la technologie Microsoft, donc SQL Server + ASP
Ensuite, un client s'est pointé, et nous a demandé de la gestion documentaire uniquement.
Vu que j'avais modélisé ça comme un dieu (faut bien se jeter des roses à soit-même de temps en temps, personne le fait pour vous), on a décidé de réutilisé la même base et les mêmes devs pour gérer ça. on a fait évoluer notre offre et tout était bien dans le meilleur des mondes possibles.
 
puis... un jour... un gars s'est pointé, et a demandé le même truc, mais avec MySQL à la place de SQL Server.
 
le commercial et le CP n'ont pas tilté et... on s'est retrouvé à devoir livrer la chose en 30 jours (temps vendu pour établir la charte graphique et intégrer le contenu, puisqu'il n'y avait aucun dev à faire)
 
Bah je peux te dire que ça a été bien l'alerte dans l'openspace quand on a découvert que "MySQL" s'était glissé un peu partout dans le cahier des charges ! pendant 15 jours, on a repris toutes les requêtes une à une afin de virer tout ce qui était spécifique, et finalement on a tout de même réussi à tenir les délais en doublant le nombre de personnes sur le projet. je peux dire qu'heureusement que depuis le départ j'avais mis en garde contre l'utilisation abusive de trucs proprios dans ce genre d'application. on n'a notamment pas eu de problème de PS ou Trigger. Sans ça, on était bout pour payer des pénalités pendant 6 mois !
 
Aujourd'hui, je travaille dans une société partenaire d'un éditeur d'ERP. Cet ERP tourne avec Oracle.
Ils sont en train d'étudier sa portabilité sur MSDE/SQL Server et PostGreSQL, afin de mieu s'intégrer dans des SI déjà existants, et baisser la facture. A partir de là, je ne fais plus le moindre bout de code qui nécessite réécriture pour passer d'un SGBD à l'autre, parceque sinon, on va passer notre temps à réinventer la roue... :spamafote:

n°1267375
Arjuna
Aircraft Ident.: F-MBSD
Posté le 15-12-2005 à 14:44:43  profilanswer
 

pis d'abors, moi aussi je suisarchitecte d'applications :o enfin... maintenant je suis chef projet, mais je trouve ça fait naze comme titre, alors je garde l'ancien, ça en jette plus :D

n°1267440
belldandys
Posté le 15-12-2005 à 15:31:51  profilanswer
 

Bon j'avais fait une long mail, mais j'ai finalement décidé de l'effacer, il faisait trop polémique ....
 
Je garderai juste un petit mot: Soit ton CP etait un crétin, soit ton commercial un pourri (ou mieux encore, les deux ....).
 
 
 

n°1267442
Arjuna
Aircraft Ident.: F-MBSD
Posté le 15-12-2005 à 15:34:21  profilanswer
 

y'avais pas que les deux :D
 
nan, c'est surtout qu'on avait plus un thune, plus un client, et que tout le monde s'est jeté dessus et on lui a offert une caisse de vaseline et il a sû en fait bon usage :D

n°1267444
belldandys
Posté le 15-12-2005 à 15:35:36  profilanswer
 

C'est quoi ta boite, j'ai un projet pour vous !!! :)


Message édité par belldandys le 15-12-2005 à 15:35:56
n°1267447
Arjuna
Aircraft Ident.: F-MBSD
Posté le 15-12-2005 à 15:38:52  profilanswer
 

ben j'ai changé de boîte maintenant :p
 
là je fais de la TMA sur un ERP, la cliente est partie faire une formation depuis deux jours, et je m'emmerde comme un rat mort depuis ce matin :D
 
j'avancerais bien sur l'intranet que j'ai commencé à leur faire, mais y'a trop de questions ouvertes, je vais bosser pour rien, faudra tout recommencer (notamment la requête où j'avais posé la question d'un éventuel débordelisage, ça rammène la moitié de la base, donc va falloir qu'on discute un peu pour savoir quels filtres ajouter...)

n°1267449
Arjuna
Aircraft Ident.: F-MBSD
Posté le 15-12-2005 à 15:39:53  profilanswer
 

hier, c'était pationnant, je me suis fait un site pour faire des recherches dans "mes documents" en utilisant index server... on s'occupe comme on peut :D

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  ordonner les resultats d'une requete SQL !

 

Sujets relatifs
[SQL] Sauvegarder un fichier dans un blob ?Pb de PL SQL
PROMPT dans une procédure PL SQLHibernate Commande SQL direct
Requête imbriquée avec DATE_FORMAT()SQl\excel
Import Export de données dans une BDD SQL et fichier texteSQL Server 2005 Express et Full-text index ?
[SQL Server]Reporting Services : Pages blanches à l'export des reports[SGBD/SQL] structure de tables [RESOLU]
Plus de sujets relatifs à : ordonner les resultats d'une requete SQL !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR