Envoyé par
ridick
bon je te donne deux solutions essaie et utilise celle que tu preferes:
Solution 1: une requête
SELECT Table1.id,Table1.nom,Table2.id,Table2.tag FROM Table1, Table2 WHERE (Table2.tag like 'japonais' or Table1.nom like ' japonais') and Table1.id = Table2.id
Solution 2:
2 requête et un test
1 2 3 4 5 6 7 8 9 10
|
$res1=mysql_query("SELECT id, nom FROM Table1 WHERE nom LIKE 'japonais'");
$res2=mysql_query("SELECT id, tag FROM Table 2 WHERE tag LIKE 'japonais'");
while($r1=mysql_fetch_array($res1) OR $r2=mysql_fetch_array($res2))
{
if($r1['id'] == $r2['id'])
{
ton traitement la;
}
} |
Euh... Pour la première solution utiliser des LIKE sans % ça sert pas à grand chose, ça revient à faire un = (à moins qu'il y ait une raison que j'ignore ???). Quand à la deuxième solution... Euh...
Pour Pieplu
SELECT Table1.id,Table1.nom,Table2.id,Table2.tag FROM Table1, Table2 WHERE Table2.tag like '%japonais%' or Table1.nom like '% japonais%' and Table1.id = Table2.id
Tu dois avoir un souci de priorité dans tes conditions, le AND étant prioritaire par rapport au OR.
Essaie en parenthèsant :
SELECT Table1.id,Table1.nom,Table2.id,Table2.tag FROM Table1, Table2 WHERE (Table2.tag like '%japonais%' or Table1.nom like '%japonais%') and Table1.id = Table2.id
Enfin après ça dépend de ce que tu veux obtenir par rapport à ce que tu as en BDD.
Partager