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ånpandom
och till sistlandom