2010-08-12 5 views
1

hey gars je veux juste la recherche (Sélectionner) dans plusieurs tables, donc j'écrit le code ci-dessous:Rechercher une requête dans plusieurs tables MySQL

SELECT s.title From table_stories s WHERE s.title = %$inputbox% 
    UNION 
    SELECT e.title From table_pages e WHERE e.title = %$inputbox% 

est mal à utiliser UNION> ?!

+1

vous manquez guillemets '% $ inputbox%'. J'espère aussi que vous évaderez $ inputbox correctement – knittl

+0

Aucun problème avec UNION. Une addition que vous aimeriez faire est d'ajouter une colonne supplémentaire à chaque requête pour identifier de quelle TABLE le serveur retourne des données. par exemple. 'Stories' comme TableName à la première et 'Pages' comme TableName à la seconde dans votre exemple – Adrian

Répondre

2

Dans le cas de ce que vous faites ici, il est parfaitement raisonnable d'utiliser UNION. Y a-t-il une raison particulière pour laquelle vous pensez que cela pourrait être faux?

0

L'union est bien là.

0

Cela semble parfaitement valable. Comme vous demandez, je suppose que cela ne fonctionne pas comme prévu. Essaies-tu de faire autre chose? Si vous souhaitez commander le résultat puis joindre les requêtes dans parantheses

(SELECT s.title AS t From table_stories s WHERE s.title = %$inputbox%) 
UNION 
(SELECT e.title AS t From table_pages e WHERE e.title = %$inputbox%) 
ORDER BY t 
problème
0

n'a pas été dans l'utilisation UNION, erreur juste Où état

SELECT s.title AS t From table_stories s WHERE s.title like '%$inputbox%' 
Questions connexes