Mysql
 sql >> Base de données >  >> RDS >> Mysql

des moyens simples de sélectionner des lignes dans tous les tableaux

Si toutes les tables ont la même structure, vous pouvez utiliser un UNION query pour renvoyer les lignes des trois tables à la fois :

$check = mysqli_query($con, "SELECT * FROM text WHERE keyword='$string'
                             UNION
                             SELECT * FROM sticker WHERE keyword='$string'
                             UNION
                             SELECT * FROM image WHERE keyword='$string'");

Cela vous donnera l'ensemble équivalent de lignes que vos trois requêtes existantes vous donnent. Notez qu'il n'y aura aucun moyen de déterminer de quelle table provient une ligne donnée, vous pouvez donc ajouter un champ supplémentaire pour indiquer que, par exemple

$check = mysqli_query($con, "SELECT *, 'text' AS src FROM text WHERE keyword='$string'
                             UNION
                             SELECT *, 'sticker' AS src FROM sticker WHERE keyword='$string'
                             UNION
                             SELECT *, 'image' AS src FROM image WHERE keyword='$string'");