Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

maneiras fáceis de selecionar linhas de todas as tabelas


Se todas as tabelas tiverem a mesma estrutura, você pode usar um UNION query para retornar linhas de todas as três tabelas de uma só vez:
$check = mysqli_query($con, "SELECT * FROM text WHERE keyword='$string'
                             UNION
                             SELECT * FROM sticker WHERE keyword='$string'
                             UNION
                             SELECT * FROM image WHERE keyword='$string'");

Isso fornecerá o conjunto equivalente de linhas que suas três consultas existentes fornecem. Observe que não haverá como determinar de qual tabela uma determinada linha veio, então você pode querer adicionar um campo extra para indicar que, por exemplo,
$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'");