Trier une requete sur 2 champs lies

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Trier une requete sur 2 champs lies

par gepeto67 » 08 mars 2006, 16:44

On n'ai jamais mieux servi que par soi-mëme

J'ai trouvé :
... ORDER BY CONCAT(nom, designation) 
A +

par gepeto67 » 05 mars 2006, 13:31

En fait je voudrais "additionner" les 2champs dans la commande SELECT afin de faire le tri se fasse sur cette "nouvelle variable"

En faite je ne veut pas cela
$sql = 'select designation, nom from table order by designation, nom'; 
Mais un truc du genre
$sql = 'select designation, nom from table FAIRE "designation+nom "order by designation+nom
????????Possible

par Invité » 05 mars 2006, 11:08

Je crois que je n'ai pas été assez clair ...... en fait

Mon probleme c'est pas l'affichage des résultats mais le tri

en effet

si je fait

Code : Tout sélectionner

Order by designation, nom
il va classer d'abord sur designation puis sur nom,

Mon PB c'est que je voudrais que les enregistrements ou le champ designation est vide qu'il soit bien inserez dans lordre alphabetique

Re: Trier une requete sur 2 champs lies

par Truc » 05 mars 2006, 02:37

Salut,
je voudrais faire une requete qui liste les résultats pas seulement d'abord sur puis sur l'autre (Order By nom, designation) mais sur "designation + nom".
absolument.......... pas clair :shock:
manquerai pas des mots ?

d'après l'exemple que tu donnes suffit de tout séléctionner et d'afficher les champs. S'ils sont vide alors il n'y a pas d'affichage, schéma:
$sql = 'select designation, nom from table ';
   
if ($res = mysql_query($sql)) 
{
   while ($row = mysql_fetch_array($res))
   {
      echo $row['designation'].' '.$row['nom'].' <br />';
   }
}

Trier une requete sur 2 champs lies

par gepeto67 » 05 mars 2006, 02:20

Bonjour,

Voilà j'ai une table qui contient ce genre de champ :

Champ 1 : code
Champ 2 : designation
Champ 3 : nom

Les champ desigantion et nom sont parfois remplis tout les 2 mais d'autres fois seulement l'un d'eux

je voudrais faire une requete qui liste les résultats pas seulement d'abord sur puis sur l'autre (Order By nom, designation) mais sur "designation + nom".

Exemple j'ai cela

designation nom
A23 Truc
(vide) AStruc
B35d (vide)

Et le résultat donnerais

A23 Truc
AStruc
B35d


J'espere que c'est assez clair ?

Merci d'avance