2014-04-24 3 views
-2

У меня есть сайт Wordpress со статьями. Сообщение может содержать или несколько категорий (таблица wp_terms). Теперь мне нужен запрос, который возвращает список всех имен терминов, ЗАКАЗЫВАЕМЫХ по дате статьи в блогах. Я экспериментировал с SELECT в запросе SELECT, но это не работает ... Как я могу это сделать и вернуть категории, упорядоченные по дате статьи?sql вернуться категории, упорядоченные по дате публикации блога

стол wp_posts (в качестве примера):

|ID------|post_title------------------|post_date-| 
|1  |Test title     |2014-05-05| 
|2  |Test title 2    |2014-04-01| 
|3  |Last test title    |2014-02-02| 
|4  |Another blog item   |2014-01-06| 

стол wp_terms:

|term_id|name---------| 
|1  |computers | 
|2  |home   | 
|3  |work   | 

стол wp_term_relationships

|object_id|term_taxonomy_id|term_order| 
|1  |2    | 0  | 
|1  |1    | 0  | 
|2  |3    | 0  | 

стол wp_term_taxonomy

|term_taxonomy_id | term_id | 
|1    |1  | 
|2    |2  | 
|3    |3  | 
|4    |4  | 

Это мой текущий запрос, но это не работает правильно ...

+2

Покажите нам запрос и ожидаемый выход –

+0

, что DBMS вы используете? –

ответ

0

Все еще не уверены, что вы пытаетесь достичь. Но это ваш запрос, который выполняется без ошибок

SELECT t.*, p.* 
FROM wp_terms AS t JOIN wp_terms_taxonomy AS tt 
    ON tt.term_id = t.term_id 
JOIN wp_terms_relationship AS tr 
    ON tr.term_taxonomy_id 
     = tr.term_taxonomy_id LEFT JOIN 
(SELECT ID, post_title, max(post_date) as date 
FROM wp_posts 
GROUP BY ID , post_title) as p on p.ID= tr.object_id 
GROUP BY t.term_id,t.name,p.id,p.post_title,p.date 
ORDER BY p.date desc 

fiddle

+0

Это не работает ... Что я получу - это список всех категорий (условий), упорядоченных по дате последнего блога ... – angelique000

Смежные вопросы