从多个表中选择数据?

Lat*_*tox 5 mysql sql

我有3个表,3个字段都是一样的.我基本上想从每个表中选择信息

例如:

userid = 1
Run Code Online (Sandbox Code Playgroud)

我想从所有3个表中选择数据,其中 userid = 1

我目前正在使用:

   SELECT r.*, 
          p.*, 
          l.*
     FROM random r
LEFT JOIN pandom p ON r.userid = p.userid
LEFT JOIN landom l ON l.userid = r.userid
    WHERE r.userid = '1'
    LIMIT 0, 30
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用.

Ric*_*iwi 4

3个字段都一样

那么您的意思是您想要the same 3 fields所有 3 个表中的内容?

   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
Run Code Online (Sandbox Code Playgroud)

这些字段不必命名相同,但相同的类型需要排列在位置 1、2 和 3。

限制的工作方式是:

  • 它将尝试从 获取 30 random
  • 如果已经有 30 个,它甚至不会查看其他 2 个表
  • 如果 from 少于 30 个random,它将尝试填充到 30 个 from pandom,直到最后landom