![](/img/trans.png)
[英]MySQL SELECT COUNT(*) From two tables based on multiple conditions
[英]Mysql select from multiple tables based on like count
我的sql语句有这个问题,我不知道如何绕过它。 我正在使用WordPress和WTI Like Post插件以下是查询:
SELECT wpblog_posts.ID, wpblog_posts.post_title, wpblog_posts.post_excerpt, wpblog_posts.guid, wpblog_posts.post_author, wpblog_wti_like_post.value, wpblog_wti_like_post.post_id
FROM wpblog_posts, wpblog_wti_like_post
LEFT JOIN wpblog_term_relationships rel ON rel.object_id = wpblog_posts.ID
LEFT JOIN wpblog_term_taxonomy tax ON tax.term_taxonomy_id = rel.term_taxonomy_id
LEFT JOIN wpblog_terms t ON t.term_id = tax.term_id WHERE t.term_id = 165
AND wpblog_posts.post_type = 'post'
AND wpblog_wti_like_post.post_id = wpblog_posts.ID
ORDER BY wpblog_wti_like_post.value
LIMIT 20
所以我要做的是选择一个类别中的所有帖子,并通过wpblog_wti_like_post.value
订购这些帖子现在在该类别中,一些帖子是喜欢和不喜欢的,并且出现在表wpblog_wti_like_post
但是有些帖子没有出现在表。
我怎么会:
一种。 选择该类别中的所有帖子
湾 按wpblog_wti_like_post.value排序
我完全不知道如何实现这一目标。
干杯
UPDATE
此查询选择来自特定类别的所有帖子并且工作正常,但上面的查询不会:
SELECT wpblog_posts.ID, wpblog_posts.post_title, wpblog_posts.post_excerpt, wpblog_posts.guid, wpblog_posts.post_author
FROM wpblog_posts
LEFT JOIN wpblog_term_relationships rel ON rel.object_id = wpblog_posts.ID
LEFT JOIN wpblog_term_taxonomy tax ON tax.term_taxonomy_id = rel.term_taxonomy_id
LEFT JOIN wpblog_terms t ON t.term_id = tax.term_id
WHERE t.term_id = 165
LIMIT 20
提示:类似以下内容更具可读性......
SELECT p.ID
, p.post_title
, p.post_excerpt
, p.guid
, p.post_author
FROM wpblog_posts p
LEFT
JOIN wpblog_term_relationships rel
ON rel.object_id = p.ID
LEFT
JOIN wpblog_term_taxonomy tax
ON tax.term_taxonomy_id = rel.term_taxonomy_id
LEFT
JOIN wpblog_terms t
ON t.term_id = tax.term_id
WHERE t.term_id = 165
LIMIT 20
关于上述的一些观察:
LEFT JOIN x... WHERE x =
与INNER JOIN x
相同
LEFT JOINing表没有选择没有列的表。 如上所述,上述内容实际上是内连接,因此这个事实仅供将来参考。
没有ORDER BY的LIMIT是没有意义的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.