我有以下查询:
SELECT * FROM (`bf_discussion`) JOIN `bf_discussion` as b ON `b`.`parent` = `bf_discussion`.`id` WHERE `bf_discussion`.`projec_id` = '1' LIMIT 10
我正在尝试从数据库中选择 10 个讨论。每个讨论都可能有无限数量的子级(由parent_id 引用)。
如何将 LEFT 表限制为仅 10 个,同时允许无限制地检索子讨论?
(我在 Codeigniter 中使用这个,所以如果 codeigniter 中有一个好的解决方案那就完美了)
最佳答案
子选择通常并不理想,但是这个查询怎么样?它将返回最多 10 个包含您指定的 project_id 的讨论,而且还会返回这些父讨论的所有子讨论。
SELECT
parents.*, b.*
FROM
(SELECT * FROM bf_discussion
WHERE projec_id = 1
LIMIT 10) parents
LEFT JOIN bf_discussion b ON parents.id = b.parent
关于php - MySQL 用 join 限制左表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26832536/