2010-03-24 6 views
0

Pourquoi cette requête ne ne fonctionne pas:requête MySQL ne retourne rien (pas d'erreur/table vide)

SELECT name 
FROM 
    (
    SELECT name  
    FROM table1 
    UNION 
    SELECT name 
    FROM table2 
    ) q 

Il ne retourne rien, même pas d'erreur ou d'une table vide.

Mais

SELECT name 
FROM table1 
UNION 
SELECT name 
FROM table2 

est ok. Il retourne la table avec le champ de nom plein de lignes de deux tables.

Je sais que cette requête est redondante, mais je dois la faire fonctionner dans le cadre d'une autre requête.

+0

problème trouvé. il ne fonctionne pas seulement sur ma machine http://stackoverflow.com/questions/2510246/select-1-from-select-1-from-table-q-does-not-working-on-local-machine – Qiao

Répondre

0

Votre requête ne présente aucun problème. Deux tables, table1 et table2 avec une colonne 'nom' dans chacune fonctionneront correctement et retourneront des lignes. Vous avez dit "Je dois le faire fonctionner dans le cadre d'une autre requête [sic]" testez-vous la requête que vous avez publiée indépendamment ou seulement dans le cadre d'une requête plus large? Si c'est le dernier, alors votre problème est là, et pas avec ce que vous avez posté.

+0

même ' SELECT nom FROM (SELECT nom FROM table1) q' ne fonctionne pas – Qiao

+0

'SELECT 1 FROM (SELECT 1 FROM table1) q' ne fonctionne pas! Avec n'importe quelle table. – Qiao

Questions connexes