mysql - Selecting posts together with optional taxonomy -


i want select (wordpress) posts eventual brand , brand_id (both same taxonomy). if there no brand set, post should selected anyway these 2 fields set null.

this query work, it's excluding posts missing brand:

select     p.id post_id,     p.post_title title,     p.post_content body,     brand.name brand,     brand.term_id brand_id,     unix_timestamp(p.post_date) date_added      wp_posts p  inner join wp_term_relationships brand_rel    on brand_rel.object_id = p.id  inner join wp_term_taxonomy brand_tax    on brand_tax.term_taxonomy_id = brand_rel.term_taxonomy_id    , brand_tax.taxonomy = "product_brand"  inner join wp_terms brand    on brand.term_id = brand_tax.term_id      p.post_type = 'product' ,     p.post_status = 'publish' group post_id; 

changing inner join left join, posts - none of brands (both brand , brand_id null):

select     p.id post_id,     p.post_title title,     p.post_content body,     brand.name brand,     brand.term_id brand_id,     unix_timestamp(p.post_date) date_added      wp_posts p  left join wp_term_relationships brand_rel    on brand_rel.object_id = p.id  left join wp_term_taxonomy brand_tax    on brand_tax.term_taxonomy_id = brand_rel.term_taxonomy_id    , brand_tax.taxonomy = "product_brand"  left join wp_terms brand    on brand.term_id = brand_tax.term_id      p.post_type = 'product' ,     p.post_status = 'publish' group post_id; 

if remove group by statement during left join seem posts , without brand should, alot of duplicates of brand , brand_id fields null.

all appreciated.


Comments

Popular posts from this blog

java - Date formats difference between yyyy-MM-dd'T'HH:mm:ss and yyyy-MM-dd'T'HH:mm:ssXXX -

c# - Get rid of xmlns attribute when adding node to existing xml -