sql >> Databasteknik >  >> RDS >> Mysql

VÄLJA data från flera tabeller?

Så du menar att du vill ha the same 3 fields från alla tre borden?

   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

Fälten behöver inte ha samma namn, men samma typer måste ställas i rad på position 1, 2 och 3.

Så här fungerar gränserna:

  • den kommer att försöka få 30 från random .
  • Om den redan har 30 ser den inte ens på de andra 2 tabellerna
  • om den har mindre än 30 från random , kommer den att försöka fylla upp till 30 från pandom och till sist landom


  1. Mysql-transaktion:commit och rollback

  2. INSERT INTO...SELECT för alla MySQL-kolumner

  3. Aktivera SQL Server Agent via SSMS

  4. autoslutförande visar alla poster, gör ingen sökning