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

PHP & Base de données Discussion :

problème avec une requête sql avec UNION et ORDERR BY


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 117
    Par défaut problème avec une requête sql avec UNION et ORDERR BY
    cette requête fonctionne parfaitement , mais si je voulais ajouter ORDER BY id , ça ne donne rien comme résultat.!!

    voici mon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    $sth = $this->db->prepare("SELECT id, r1, r2, r3, r4
        FROM table1
            WHERE name LIKE '%{$key}%' AND status = 1 LIMIT 0,20 
        UNION
            SELECT   id,r1, r2, r3, r4  FROM table2
                WHERE name LIKE '%{$key}%' AND status = 1 LIMIT 0,20 
        UNION
            SELECT   id,r1, r2, r3, r4  FROM table3
                WHERE name LIKE '%{$key}%' AND status = 1 LIMIT 0,20 
        UNION
            SELECT  id, r1, r2, r3, r4  FROM table4
                WHERE name LIKE '%{$key}%'  AND status = 1 LIMIT 0,20 ");
     
    $sth->execute();
    $data = $sth->fetchAll();
    j'ajoute après chaque LIMIT 0,20 ORDER BY id. pouvez vous m'aider a résoudre ce problème . merci

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2011
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 117
    Par défaut
    merci les amis j'ai trouvé la solution , voila comment doit être construite la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    $sth = $this->db->prepare(" SELECT * FROM (
         SELECT   id, r1, r2, r3, r4  FROM table1 WHERE name LIKE '%{$key}%' AND status = 1 LIMIT 0,20 
         UNION
         SELECT   id, r1, r2, r3, r4  FROM table2 WHERE name LIKE '%{$key}%' AND status = 1 LIMIT 0,20 
         UNION
         SELECT   id, r1, r2, r3, r4  FROM table3 WHERE name LIKE '%{$key}%' AND status = 1 LIMIT 0,20 
         UNION
         SELECT   id, r1, r2, r3, r4  FROM table4 WHERE name LIKE '%{$key}%'  AND status = 1 LIMIT 0,20 
    ) as Alias ORDER BY ID");
    $sth->execute();
    $data = $sth->fetchAll();

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 25/07/2012, 23h09
  2. [Access] Problème dans une requête SQL avec INNER JOIN ?
    Par bds2006 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/06/2006, 10h57
  3. Problème dans une requête SQL avec AS et ON ?
    Par bds2006 dans le forum Bases de données
    Réponses: 9
    Dernier message: 26/06/2006, 15h25
  4. [MySQL] Problème avec une requête SQL
    Par chobol dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 11/05/2006, 12h29
  5. [VB]Problème avec une requête SQL
    Par Tyrael62 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 18/03/2006, 17h47

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