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

SELECT Dados de várias tabelas?


Então você quer dizer que deseja the same 3 fields de todas as 3 tabelas?
   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

Os campos não precisam ter o mesmo nome, mas os mesmos tipos precisam ser alinhados na posição 1, 2 e 3.

A forma como os limites funcionam é:
  • ele tentará obter 30 de random .
  • Se já tiver 30, nem vai olhar para as outras 2 tabelas
  • se tiver menos de 30 de random , ele tentará preencher até 30 de pandom e só finalmente landom