2011-06-23 3 views
0

Exécution mySQL Communauté Server 5.5.13MySQL jointure gauche - problème étrange

En utilisant la requête suivante:

select t1.f1, t2.f1, t2.f2 
from t1 left join t2 on (t1.f3 = t2.f3) 

Si la jointure gauche trouve aucune correspondance dans la table t2, plutôt que de mettre les valeurs NULL dans les valeurs pour t2.f1, t2.f2, il est en train de mettre les noms des colonnes.

Des suggestions pourquoi cela pourrait-il se produire?

+0

Êtes-vous obtenir exactement une ligne de sortie? – Johan

Répondre

0

Essayez ceci:

SELECT `t1`.`f1`, `t2`.`f1`, `t2`.`f2` 
FROM `t1` 
LEFT JOIN `t2` ON `t1`.`f3` = `t2`.`f3`; 
+1

-1, cela ne fera aucune différence. – Johan

+0

Oeuf sur mon visage. Il s'avère que c'était des données corrompues en t2, mais merci pour la réponse. Par curiosité, est-ce une bonne pratique de mettre les guillemets simples autour de la table et des noms de champs? – jam

+2

@jam, non, il semble laid et moelleux et méchant et horrible, les guillemets ne sont que pour les noms de champs qui sont des mots réservés, ont des espaces dans eux ou sont (gasp *) numéros. – Johan