Mysql
 sql >> Datenbank >  >> RDS >> Mysql

einfache Möglichkeiten, Zeilen aus allen Tabellen auszuwählen

Wenn alle Tabellen dieselbe Struktur haben, können Sie eine UNION verwenden Abfrage, um Zeilen aus allen drei Tabellen gleichzeitig zurückzugeben:

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

Dadurch erhalten Sie den äquivalenten Satz von Zeilen, die Ihnen Ihre drei vorhandenen Abfragen liefern. Beachten Sie, dass es keine Möglichkeit gibt, festzustellen, aus welcher Tabelle eine bestimmte Zeile stammt, daher möchten Sie vielleicht ein zusätzliches Feld hinzufügen, um anzugeben, dass z. B.

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