2017-04-04 64 views
3

我会尝试尽可能地解释。这里是我的查询..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列设置主帖(B) id为C。我是否想从mm_posts得到title如果type='C'有吗?

对我的挑战是把它与在post_id设置两个BC

+4

更新您的问题添加适当的数据样本和预期的结果请 – scaisEdge

+2

感谢您给CLOSE投票。请看下面给出的答案@Mahesh Madushanka至少他理解我的问题:) –

回答

4

您可以使用下面的查询我的等级表工作,

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 
+1

没有添加s。*和p。*您可以指定所需的列 –

+0

非常感谢代码。我只需要添加'WHERE p.type ='C''即可获得标题。 –

+0

@CodeLover:np欢迎您' –