Excluir categoria da consulta de database

Eu tenho o próximo código:

$drivers_all = $wpdb->get_results("SELECT DISTINCT meta_value FROM wp_postmeta WHERE meta_key = 'driver'") 

Com este eu recebo os valores de todos os campos “driver”. Como posso excluir alguma categoria neste código?

Solutions Collecting From Web of "Excluir categoria da consulta de database"

Tenho certeza de que há uma abordagem melhor, mas essa consulta deve fazer o que quiser:

 SELECT DISTINCT meta_value FROM wp_postmeta pm WHERE meta_key = 'Driver' AND NOT EXISTS (SELECT * FROM wp_term_relationships tr JOIN wp_term_taxonomy tt ON tt.term_taxonomy_id = tr.term_taxonomy_id JOIN wp_terms t ON t.term_id = tt.term_id WHERE pm.post_id = tr.object_id AND tt.taxonomy = 'category' AND t.name = 'ExcludeMeCategory'); 

Ao traduzir isso em php, você deve usar os alias de $wpdb para nomes de tabela, ou seja, $wpdb->postmeta , $wpdb->term_relationships , $wpdb->term_taxonomy , $wpdb->terms . Você provavelmente também deve pesquisar essa consulta para garantir que ela esteja sendo executada em um tempo razoável e não está fazendo exames de tabela completa, etc. – Eu não uso um database representativo para testá-lo.

Finalmente, não conheço as taxonomias bem: pode ser hierarquias de taxonomia incompletas e pode ser mais fácil / melhor consultar primeiro a ID da taxonomia e, em seguida, soltar essa na consulta no lugar da wp_terms_taxonomy na consulta.