我有3个表,其中3个字段都相同。我基本上想从每个表中选择信息
例如:
userid = 1
我想从所有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
但它似乎不起作用。
答案 0 :(得分:4)
有3个字段全部相同
所以你的意思是你想要所有3个表中的the same 3 fields
?
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
字段不必命名相同,但相同类型需要在第1,2和3位排列。
限制的工作方式是:
random
获得30。random
少于30,则会尝试从pandom
填充最多30个,最后只会landom
答案 1 :(得分:2)
SELECT t1.*, t2.*, t3.*
FROM `random` as t1, `pandom` as t2, `landom` as t3
WHERE t1.`userid`='1' AND t2.`userid`='1' AND t3.`userid`='1'
答案 2 :(得分:1)
SELECT * FROM `random`
JOIN `pandom` USING (`userid`)
JOIN `landom` USING (`userid`)
WHERE `userid`='1'