如何将这两个查询合并为一个已经加入的查询?
SELECT *
FROM post
LEFT JOIN post_plus
ON ( post.id = post_plus.news_id )
where approve = 1
ORDER BY fixed DESC,
date DESC
LIMIT 0, 7;
SELECT c1.postid
FROM post_category c1
JOIN post_category c2
ON c1.postid = c2.postid
WHERE c1.categoryid IN ( 130, 3, 4, 5 )
AND c2.categoryid = 73
最佳答案
如果帖子有链接post_category的外键:
SELECT *
FROM post p
JOIN post_category pc
ON p.fk_post_category = pc.id
JOIN post_category pc2
ON pc.postid = pc2.postid
LEFT JOIN post_plus pp
ON ( p.id = pp.news_id )
where approve = 1
and pc.categoryid IN ( 130, 3, 4, 5 )
AND pc2.categoryid = 73
ORDER BY fixed DESC,
date DESC
LIMIT 0, 7;
显然,您的结果仅限于第一个查询。如果帖子和帖子类别之间不存在关系,请发布您希望如何放置这些表格
关于mysql - 将两个查询合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18687858/