Мне нужно получить данные постов из 3 таксономий (профиль-категория, округ, сектор) - PullRequest
0 голосов
/ 09 января 2020

Ниже запрос работает с одной таксономией

SELECT * 
FROM bb_posts AS p 
LEFT JOIN bb_term_relationships AS r ON (p.ID = r.object_id) 
INNER JOIN bb_term_taxonomy AS x ON (r.term_taxonomy_id = x.term_taxonomy_id) 
INNER JOIN bb_terms AS t ON (r.term_taxonomy_id = t.term_id) 
WHERE p.post_type IN ('post', 'profile') 
AND p.post_status = 'publish' 
AND x.taxonomy = 'profile-category' 
AND t.term_id = '577' 
AND x.taxonomy = 'county' 
AND t.term_id = '804' 
AND x.taxonomy = 'Sector' 
AND t.term_id = '830' 
ORDER BY p.post_date DESC

Как получить данные постов из 3 таксономий?

1 Ответ

0 голосов
/ 09 января 2020

Это одно из возможных решений

ВЫБРАТЬ * ОТ bb_posts ВЛЕВО СОЕДИНИТЬ tt2 ВКЛ (bb_posts.ID = tt2.object_id) ВНУТРЕННЕЕ СОЕДИНЕНИЕ bb_postmeta ВКЛ (bb_posts.ID = bb_postmeta.post_id) ГДЕ 1 = 1
И (bb_term_relationships.term_taxonomy_id IN (689) И tt1.id2_t98 .term_taxonomy_id IN (828)) AND ((bb_postmeta.meta_key = 'сектор' AND bb_postmeta.meta_value LIKE '% инвалидная коляска%')) И bb_posts.post_type IN ('allusers', 'profile') И (bb_posts.post_status = ' publi sh 'OR bb_posts.post_status =' acf-disabled 'ИЛИ bb_posts.post_author = 1 AND bb_posts.post_status =' private ') GROUP BY bb_posts.ID ORDER BY bb_posts.ID DES C LIMIT 0, 12

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...