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

SELECT Daten aus mehreren Tabellen?

Sie meinen also, dass Sie the same 3 fields wollen aus allen 3 Tabellen?

   SELECT r.col1, r.col2, r.col3
     FROM random r
    WHERE r.userid = '1'
    LIMIT 0, 30
UNION ALL 
   SELECT p.pcol1, p.pcol_2, p.p3
     FROM pandom p
    WHERE p.userid = '1'
    LIMIT 0, 30
UNION ALL 
   SELECT l.l1, l.l2, l.l3
     FROM landom l
    WHERE l.userid = '1'
    LIMIT 0, 30

Die Felder müssen nicht gleich benannt werden, aber gleiche Typen müssen an Position 1, 2 und 3 stehen.

So funktionieren die Limits:

  • es wird versuchen, 30 von random zu bekommen .
  • Wenn es bereits 30 hat, wird es sich nicht einmal die anderen 2 Tabellen ansehen
  • wenn es weniger als 30 von random hat , wird versucht, bis zu 30 von pandom zu füllen und erst zum Schluss landom