我有一个主要用户数据库表和一个“meta”表到外连接。 基本上,基本的查询是
SELECT * FROM users_table
LEFT OUTER JOIN meta_table ON users_table.id = meta_table.user_id
ORDER BY users_table.id ASC
但我必须限制users_table ID列的结果。如果我使用标准LIMIT子句,查询将计算元值。
是否可以限制用户的表ID列并将metas与join相关联?
答案 0 :(得分:3)
您可以尝试使用子查询。例如
SELECT * FROM meta_table
RIGHT OUTER JOIN (SELECT * FROM users_table
WHERE status = 1
ORDER BY users_table.id ASC LIMIT 10) as tbl_user
ON meta_table.user_id = tbl_user.id
答案 1 :(得分:1)
感谢@mergenchik指出了正确的方向。
我最终得到了一个稍微不同的查询,以便将用户表数据保留在开头,并且能够在将来加入新表
SELECT * FROM
(SELECT * FROM users_table ORDER BY id ASC LIMIT 15) as users_table
LEFT OUTER JOIN meta_table
ON meta_table.user_id = users_table.id