SQL-запрос для извлечения всех постов WordPress с категориями

Мне нужно извлечь все сообщения из моей базы данных 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

Кажется, это работает, но возвращает 1553, где я знаю, что в моей базе данных только 1343.

РЕДАКТИРОВАТЬ: Некоторое время назад мы проделали то же самое с другим SQL-запросом и обнаружили, что он вытягивает ревизии и другие типы записей, но подумал, что это было решено с помощью post_type = 'post'

РЕДАКТИРОВАТЬ: Посмотрев на количество категорий в БД, я придумаю общее число 216, 6 от числа, если вычесть 1553 - 1343 = 216. Поэтому я думаю, что это общее число 1553 исходит из таблицы wp_terms, которая нуждается в быть исключенным, и только те, которые активны с опубликованными сообщениями должны быть показаны?

РЕДАКТИРОВАТЬ: Другая возможность состоит в том, что у каждого поста может быть несколько категорий, отсюда и причина наличия большего количества постов (1553). Итак, как я могу разделить каждый пост на несколько категорий?

Большое спасибо!

 Adam Wenger25 окт. 2012 г., 17:00
Что не так с тем, что вы опубликовали? Есть ли ошибка, или не вернет результаты, которые вы хотите?
 Aprillion25 окт. 2012 г., 16:43
что ты пробовал до сих пор? Вы можете опубликовать структуру таблиц, которые нужно запросить?
 SixfootJames26 окт. 2012 г., 07:53
Я добавил несколько правок, чтобы помочь с моими выводами, если кто-нибудь может взглянуть на это еще раз, пожалуйста?

Ответы на вопрос(1)

Решение Вопроса

Это последний ответ, который работал для меня.

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
 Xeoncross03 сент. 2014 г., 16:41
AND post_status = 'publish'
 lorem monkey30 июл. 2013 г., 14:39
Спасибо за то, что поделились SQL, чтобы получить теги и категории из базы данных - очень помогли :)
 SixfootJames31 янв. 2014 г., 16:07
Рад, что это сработало для вас. ;)
 Tspesh17 авг. 2017 г., 18:08
Это фантастически спасибо!

Ваш ответ на вопрос