IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

union et order by


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 28
    Par défaut union et order by
    Bonjour,

    Voici ma requête mysql:

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT L1, L2, L4, L10 FROM table1 
    UNION ALL 
    SELECT L1, L2, L4, L10 FROM  table2 
    ORDER BY 'date'

    J'obtiens les données voulues des deux tables mais triées chacune séparément d'abord la table1 par date puis la table2 par date or j'ai besoin de trier l'ensemble des résultats par date comme si les données provenait d'une seule table...

    Merci d'avance pour votre précieuse aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Etrange le résultat que tu obtiens ... et comme ca ?
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    (
      SELECT L1, L2, L4, L10 FROM table1 
      UNION ALL 
      SELECT L1, L2, L4, L10 FROM table2
    ) 
    ORDER BY 'date'
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 28
    Par défaut
    Avec les parenthèses j'obtiens une erreur :

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UNION ALL SELECT L1, L2, L4, L10 FROM table2) ORDER BY 'date'' at line 1

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Est ce que tu as le meme problème avec un UNION simple ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 28
    Par défaut
    Oui même problème avec Union ou Union all ...

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Août 2007
    Messages : 109
    Par défaut
    Bonjour,

    Pour que ton résultat soit trié, il faut que tu passe par des sous requêtes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT * FROM 
    ( SELECT L1, L2, L4, L10,date FROM table1 UNION ALL SELECT L1, L2, L4, L10,date  FROM table2) AS resultat ORDER BY 'date'
    ainsi , l'ensemble de ton union sera triée

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 28
    Par défaut
    Bonjour,

    J'ai le même résultat... La requête reste triée par table

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Août 2007
    Messages : 109
    Par défaut
    A copier coller quand tu nous tiens !

    Change
    Par

    'Date' et une chaine de caractère est non un nom de champ

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 28
    Par défaut
    Si je retire les guillemets j'ai l'erreur suivante:

    Unknown column 'date' in 'order clause'


  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Août 2007
    Messages : 109
    Par défaut
    Re post la requete que tu execute.

    Tu as bien ajouter dans les deux select de ton union le champ date ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. "not null" avec union et order by
    Par cauriera dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/01/2007, 16h14
  2. [SQL] union et order by
    Par lazzeroni dans le forum Oracle
    Réponses: 2
    Dernier message: 11/07/2006, 16h08
  3. union et order by
    Par karimspace dans le forum Access
    Réponses: 2
    Dernier message: 05/01/2006, 14h32
  4. [MySQL] Union et order by
    Par Klaim dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/11/2004, 16h29
  5. Problème requête avec UNION et ORDER BY
    Par Yann21 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 12/12/2003, 11h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo