Mysql
 sql >> Base de données >  >> RDS >> Mysql

SELECT Données de plusieurs tables ?

Donc vous voulez dire que vous voulez the same 3 fields des 3 tables ?

   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

Les champs ne doivent pas nécessairement porter le même nom, mais les mêmes types doivent être alignés en position 1, 2 et 3.

Voici comment fonctionnent les limites :

  • il tentera d'en obtenir 30 à partir de random .
  • S'il en a déjà 30, il ne regardera même pas les 2 autres tables
  • s'il y en a moins de 30 de random , il essaiera de remplir jusqu'à 30 de pandom et seulement finalement landom