sql >> Databáze >  >> RDS >> Mysql

VYBRAT data z více tabulek?

Takže chcete říct, že chcete the same 3 fields ze všech 3 stolů?

   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

Pole se nemusejí jmenovat stejně, ale stejné typy je třeba seřadit na pozici 1, 2 a 3.

Způsob fungování limitů je:

  • pokusí se získat 30 z random .
  • Pokud jich má již 30, na další 2 tabulky se ani nepodívá
  • pokud má méně než 30 z random , pokusí se zaplnit až 30 z pandom a teprve nakonec landom


  1. Časové razítko Postgres now() se nemění, když skript funguje

  2. Automatické zvýšení klíče SQLite PRIMARY nefunguje

  3. Bezplatná databáze polní nemocnice pro boj s pandemií COVID-19

  4. sql, pokud je v příkazu insert bez select