Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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通过两个表从parentid获取标题_Php_Mysql - Fatal编程技术网

Php MySQL通过两个表从parentid获取标题

Php MySQL通过两个表从parentid获取标题,php,mysql,Php,Mysql,我将尽可能多地解释。这是我的问题 SELECT * FROM mm_star_ratings s JOIN mm_posts p ON s.post_id = p.postid WHERE p.type='B' ORDER BY s.rating DESC LIMIT 5 type='B'是主要帖子,而type='C'是该帖子的回复。在mm_posts中有一个parentid列,用于设置C的主post(B)id。如果type='C'仍然存在,我想从mm_posts获取标题吗 我面临的挑战是如何

我将尽可能多地解释。这是我的问题

SELECT * FROM mm_star_ratings s
JOIN mm_posts p ON s.post_id = p.postid
WHERE p.type='B'
ORDER BY s.rating DESC LIMIT 5
type='B'
是主要帖子,而
type='C'
是该帖子的回复。在
mm_posts
中有一个
parentid
列,用于设置
C
的主post
(B)
id。如果
type='C'
仍然存在,我想从
mm_posts
获取
标题吗


我面临的挑战是如何让它与我的评级表一起工作,其中为
B
C

设置了
post\u id
,您可以使用以下查询

SELECT s.*,p.*, IF(p.type='C',pp.title,p.title) as title FROM mm_star_ratings s
JOIN mm_posts p ON s.post_id = p.postid Left Join mm_posts pp on pp.postid=p.parent_id 
ORDER BY s.rating DESC LIMIT 5

更新您的问题添加适当的数据样本,预期结果请接受投票结束。请参见@Mahesh Madushanka给出的以下答案(至少他理解我的问题:)不添加s.*和p.*您可以指定所需的列SAH!我正在添加它,这样我就可以动态地切换类型,对
B
C
使用单一查询,我希望这是正确的方法@代码爱好者:是的,没关系。