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

SELEZIONA Dati da più tabelle?

Quindi vuoi dire che vuoi the same 3 fields da tutti e 3 i tavoli?

   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

I campi non devono avere lo stesso nome, ma gli stessi tipi devono essere allineati nelle posizioni 1, 2 e 3.

Il modo in cui funzionano i limiti è:

  • cercherà di ottenere 30 da random .
  • Se ne ha già 30, non guarderà nemmeno gli altri 2 tavoli
  • se ne ha meno di 30 da random , proverà a riempire fino a 30 da pandom e solo infine landom