I need to retreive a list of posts that have (at least) one attachment that belongs to a category in WordPress.
The relation between attachments and categories I made by myself using the WordPress default method.
Here's the query that i'm running right now:
SELECT post.*
FROM `bma_posts` AS post
WHERE
EXISTS (
SELECT 1
FROM `bma_posts` AS attachment
JOIN `bma_term_relationships` AS relationship ON
relationship.`object_id` = attachment.`ID`
AND
relationship.`term_taxonomy_id` IN (17,15,16,5)
WHERE
attachment.`post_parent` = post.`ID`
AND
attachment.`post_type` = 'attachment'
)
AND
post.`post_type` = 'post'
AND
post.`post_status` = 'publish'
ORDER BY post.`post_date` DESC开发者_开发问答
LIMIT 3
The problem now is that I can't get the attachment.ID
to know "who" included that post on the query.
Select ...
From wp_posts As P
Where Exists (
Select 1
From wp_posts As P1
Join wp_term_relationship As WTR1
On WTR1.object_id = P1.ID
And WTR1.term_taxonomy_id In(3)
Where P1.post_parent = P.Id
And P1.post_type = 'attachment'
)
And P.post_type = 'post'
Order By p.post_date DESC
Limit 15
精彩评论