Euh, t'es sûr que c'est possible ça?le nom de ta 1ere table est le meme que celui de ta 2ème???
Code : Tout sélectionner
SELECT * FROM `table1_fr`,`table2_fr` WHERE `nom` LIKE '%TEST% ' AND table1_fr.nom = table2_fr.nomJe pense que le moteur SQL répondra que le champ 'nom' n'est pas unique, même avec la jointure. De plus, yellcard aimerait trouver '%test%' même si table1_fr.nom et table2_fr.nom sont différent, si j'ai bien compris, d'où le problème de jointure.Si les noms dans les deux tables sont identiques il me semble que tu dois ajouter la correspondance entre les deux tables.
Dans tout les cas ta base semble souffrir d'un défaut de conception. L'objectif d'une base de donnée et de garantir l'intégrité mais aussi l'unicité des informations qu'elle contient. Fait le schéma complet de ta base et viens nous la soumettre sur le forum conception ^^.Code : Tout sélectionner
SELECT * FROM `table1_fr`,`table2_fr` WHERE `nom` LIKE '%TEST% ' AND table1_fr.nom = table2_fr.nom
Code : Tout sélectionner
SELECT id, nom, 'table1' AS table_origine
FROM table1
WHERE nom LIKE "critere%"
UNION
SELECT id, nom, 'table2' AS table_origine
FROM table2
WHERE nom LIKE "critere%"
UNION
...On est bien d'accord, tout le monde demande des éclaircissements :pVikchill : oui, il faudra distinguer de quel table provient le champ.
Maintenant le fait qu'on fasse une recherche sur des champs nom de tables différentes, justifie la question que j'ai posé plus haut: Que représente les deux tables, ont-elles la même structures ? On va dire que comme SAEVEAS, je me pose des questions sur la structure de la base de donnée.
(Pour un exemple rapide: si on a un magasin avec 5 rayons, on ne va pas avoir une table par rayon pour stocker les articles, qu'ils contiennent, mais bien une seul table, on pourra donc facilement rechercher un article, et ce sur une seule table)