gpt4 book ai didi

mysql - SQL 查询以提取所有带有类别的 WordPress 帖子

转载 作者:可可西里 更新时间:2023-11-01 06:27:46 25 4
gpt4 key购买 nike

我需要从我的 WordPress 数据库中提取所有帖子以及相关的类别,但不确定如何编写此查询。我已经对它进行了几次尝试,但并不满意,希望得到帮助?

编辑:这是我已经尝试过的:

SELECT post_title, wpr.object_id, wp_terms.name
FROM wp_terms
INNER JOIN wp_term_taxonomy ON wp_terms.term_id = wp_term_taxonomy.term_id
INNER JOIN wp_term_relationships wpr ON wpr.term_taxonomy_id =
wp_term_taxonomy.term_taxonomy_id
INNER JOIN wp_posts ON ID = wpr.object_id
WHERE taxonomy = 'category'
AND post_type = 'post'
ORDER by post_title

这似乎可行,但它返回 1,553,而我知道我的数据库中只有 1343。

编辑:不久前我们对另一个 SQL 查询做了同样的事情,发现它正在引入修订和其他帖子类型,但我们认为使用 post_type = 'post' 可以解决这个问题

编辑:查看数据库中的类别数后,我得出总数为 216,如果减去 1553 - 1343 = 216,则数字减去 6。所以我认为 1553 的总数来自 wp_terms 表,它需要被排除在外,只应显示活跃的已发布帖子?

编辑:另一种可能性是每个帖子可以有多个类别,因此有更多帖子的原因 (1553)。那么如何将每个帖子分成多个类别呢?

非常感谢!

最佳答案

这是对我有用的最终答案。

SELECT DISTINCT
post_title
, post_content
,(SELECT meta_value FROM wp_postmeta WHERE wp_postmeta.meta_key = 'Asking Price (US\$)' AND wp_postmeta.post_id = wp_posts.ID) AS "Asking Price (US\$)"
,(SELECT group_concat(wp_terms.name separator ', ')
FROM wp_terms
INNER JOIN wp_term_taxonomy on wp_terms.term_id = wp_term_taxonomy.term_id
INNER JOIN wp_term_relationships wpr on wpr.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id
WHERE taxonomy= 'category' and wp_posts.ID = wpr.object_id
) AS "Categories"
,(SELECT group_concat(wp_terms.name separator ', ')
FROM wp_terms
INNER JOIN wp_term_taxonomy on wp_terms.term_id = wp_term_taxonomy.term_id
INNER JOIN wp_term_relationships wpr on wpr.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id
WHERE taxonomy= 'post_tag' and wp_posts.ID = wpr.object_id
) AS "Tags"
FROM wp_posts
WHERE post_type = 'post'
ORDER BY
post_title
, post_content

关于mysql - SQL 查询以提取所有带有类别的 WordPress 帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13071035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com