Faire un Where sur un UNION

Faire un Where sur un UNION - SQL/NoSQL - Programmation

Marsh Posté le 15-05-2012 à 09:16:00    

Bonjour à tous,  
 
Après avoir effectué des recherches je n'ai pas trouvé de solution à mon problème, c'est pourquoi je crée ce topic.
 
Pour la réalisation de mon projet j'ai créé différentes tables et j'aimerai effectué un WHERE sur un UNION de ces tables.
 
En gros je voudrais avoir ça :

Code :
  1. $requete = "SELECT * FROM `eanantes` WHERE id_lieu='$lieu' UNION
  2. SELECT * FROM `earouen` WHERE id_lieu='$lieu' UNION
  3. SELECT * FROM `ealille` WHERE id_lieu='$lieu' UNION
  4. SELECT * FROM `ealondres` WHERE id_lieu='$lieu' UNION
  5. SELECT * FROM `eanancy` WHERE id_lieu='$lieu' "


 
Mais avec quelque chose qui ressemblerai plutôt à ça

Code :
  1. $requete = "(SELECT * FROM `eanantes` UNION
  2. SELECT * FROM `earouen`UNION
  3. SELECT * FROM `ealille`UNION
  4. SELECT * FROM `ealondres`UNION
  5. SELECT * FROM `eanancy`)
  6. WHERE id_lieu='$lieu' "


Message édité par scribou le 15-05-2012 à 09:24:05
Reply

Marsh Posté le 15-05-2012 à 09:16:00   

Reply

Marsh Posté le 15-05-2012 à 09:34:25    

Ceci peut être ?

Code :
  1. SELECT * FROM
  2.      (SELECT * FROM `eanantes` UNION
  3.       SELECT * FROM `earouen`UNION
  4.       SELECT * FROM `ealille`UNION
  5.       SELECT * FROM `ealondres`UNION
  6.       SELECT * FROM `eanancy`) AS T
  7. WHERE T.id_lieu = '$lieu


Par contre, ne concatène pas le paramètre dans la chaine, passe plutot par des prepared statements si tu ne veux pas te prendre de SQL injection


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 15-05-2012 à 09:51:29    

Ok merci !  
ça à l'air de fonctionner, en direct, je devrais pouvoir l'adapter à mon code après je pense ;)
Merci =)

Reply

Sujets relatifs:

Leave a Replay

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