2009-08-12 7 views
2

Je veux joindre table1 avec table2 sur la colonne 'Nom', mais table2.Name a un 'e' devant tous les noms (si table1.name = ABC, table2.name = eABC) . Comment suis-je censé utiliser une jointure pour ces deux-là? J'ai essayé FROM table1 join table2 on 'e'+table1.name = table2.name, mais il ne fonctionne pas ...Mysql rejoindre sur des colonnes similaires

Répondre

6
SELECT * 
FROM table1 t1 
JOIN table2 t2 
ON  t2.name = CONCAT('e', t1.name) 
1

Essayez d'utiliser une sous-chaîne du nom de table2. Donc quelque chose comme:

SELECT * 
    FROM table1 
    , table2 
WHERE table1.name = substring(table2.name, 1, length(table2.name)) 

Je ne me souviens pas si la sous-chaîne est basée sur zéro, alors jouez avec les chiffres.

Questions connexes