sql >> Database teknologi >  >> RDS >> Mysql

nemme måder at vælge rækker fra alle tabeller på

Hvis alle tabellerne har samme struktur, kan du bruge en UNION forespørgsel for at returnere rækker fra alle tre tabeller på én gang:

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

Dette vil give dig det tilsvarende sæt rækker, som dine tre eksisterende forespørgsler giver dig. Bemærk, at der ikke vil være nogen måde at bestemme, hvilken tabel en given række kom fra, så du kan eventuelt tilføje et ekstra felt for at angive, at f.eks.

$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'");


  1. Introduktion af ny funktion - Spotlight Cloud Reports

  2. 11 Almindelige SQL-sætninger med grundlæggende eksempler

  3. ude af stand til at slippe fremmednøglen

  4. Migrering af en Oracle-database fra AWS EC2 til AWS RDS, del 4