Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL限制带join的左表_Php_Mysql_Sql_Codeigniter - Fatal编程技术网

Php MySQL限制带join的左表

Php MySQL限制带join的左表,php,mysql,sql,codeigniter,Php,Mysql,Sql,Codeigniter,我有以下疑问: SELECT * FROM (`bf_discussion`) JOIN `bf_discussion` as b ON `b`.`parent` = `bf_discussion`.`id` WHERE `bf_discussion`.`projec_id` = '1' LIMIT 10 我试图从数据库中选择10个讨论。这些讨论中的每一个都可能有无限多的子元素(由父元素id引用) 如何将左表限制为10,同时允许无限制地检索子讨论 (我在Codeigniter中使用了这个选项,

我有以下疑问:

SELECT * FROM (`bf_discussion`) JOIN `bf_discussion` as b ON `b`.`parent` = `bf_discussion`.`id` WHERE `bf_discussion`.`projec_id` = '1' LIMIT 10
我试图从数据库中选择10个讨论。这些讨论中的每一个都可能有无限多的子元素(由父元素id引用)

如何将左表限制为10,同时允许无限制地检索子讨论


(我在Codeigniter中使用了这个选项,所以如果Codeigniter中有一个很好的解决方案,那就是完美的)

子选择通常并不理想,但是这个查询怎么样?它将返回最多10个带有特定项目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

如果不更好地理解您的模式,就很难知道如何解决这个问题。也许试着选择不同的?没关系,只是看到你的评论。谢谢你,亚当。我来看看。只要在左联接之后按您想要的任何方式添加一个组。@Adam,您可能还需要指定您想要的列(而不是
SELECT*
)。这会返回重复的列,因为您从同一个表中选择了两次*是有道理的。但是我希望所有列都同时出现在父级和子级中,我该如何处理?