Title: Restricting Custom SQL by Certain Categories
Last modified: August 18, 2016

---

# Restricting Custom SQL by Certain Categories

 *  Resolved [bcreighton](https://wordpress.org/support/users/bcreighton/)
 * (@bcreighton)
 * [18 years, 10 months ago](https://wordpress.org/support/topic/restricting-custom-sql-by-certain-categories/)
 * Hi,
 * I want to exclude two categories on my index template, however, I can’t quite
   figure out the syntax for the custom sql query.
 * I’ve taken a look at Otto42’s custom category select statement, however it also
   restricts and orders it by custom meta data.
 *     ```
       $querystr = "
           SELECT $wpdb->posts.*
           FROM $wpdb->posts
           LEFT JOIN $wpdb->postmeta ON ($wpdb->posts.ID = $wpdb->postmeta.post_id)
           LEFT JOIN $wpdb->post2cat ON ($wpdb->posts.ID = $wpdb->post2cat.post_id)
           WHERE $wpdb->postmeta.meta_key = 'paragraf'
           AND $wpdb->posts.post_status = 'publish'
           AND $wpdb->posts.post_type = 'post'
           AND $wpdb->post2cat.category_id IN (1,2,3)
           ORDER BY $wpdb->postmeta.meta_value ASC
           ";
       ```
   
 * I just want to exclude two categories and order by date. Can anyone help?

Viewing 4 replies - 1 through 4 (of 4 total)

 *  Thread Starter [bcreighton](https://wordpress.org/support/users/bcreighton/)
 * (@bcreighton)
 * [18 years, 10 months ago](https://wordpress.org/support/topic/restricting-custom-sql-by-certain-categories/#post-593192)
 * I feel like, I’m close… but I can’t quite figure it out. This is what I have 
   so far:
 *     ```
       SELECT $wpdb->posts.*
           FROM $wpdb->posts
           LEFT JOIN $wpdb->post2cat ON ($wpdb->posts.ID = $wpdb->post2cat.post_id)
           WHERE $wpdb->posts.ID = $wpdb->post2cat.post_id
           AND $wpdb->posts.post_status = 'publish'
           AND $wpdb->posts.post_type = 'post'
           AND $wpdb->post2cat.category_id IN (1,3,4,5,7,8)
           ORDER BY $wpdb->posts.post_date DESC
       ```
   
 * Joining tables is slightly tricky… Please, any help on this?
 *  Thread Starter [bcreighton](https://wordpress.org/support/users/bcreighton/)
 * (@bcreighton)
 * [18 years, 10 months ago](https://wordpress.org/support/topic/restricting-custom-sql-by-certain-categories/#post-593202)
 * Solved it, for anyone wondering:
 *     ```
       SELECT $wpdb->posts.*
           FROM $wpdb->posts INNER JOIN $wpdb->post2cat ON ID = post_id
           WHERE $wpdb->posts.post_status = 'publish'
           AND ($wpdb->posts.post_type = 'post'
           && $wpdb->post2cat.category_id NOT IN ( 2,6 ))
           ORDER BY $wpdb->posts.post_date DESC
       ```
   
 *  Thread Starter [bcreighton](https://wordpress.org/support/users/bcreighton/)
 * (@bcreighton)
 * [18 years, 6 months ago](https://wordpress.org/support/topic/restricting-custom-sql-by-certain-categories/#post-593296)
 * Does anyone know how to update this to the new table structure?
 *  [MichaelH](https://wordpress.org/support/users/michaelh/)
 * (@michaelh)
 * [18 years, 6 months ago](https://wordpress.org/support/topic/restricting-custom-sql-by-certain-categories/#post-593297)
 * Otto has a pretty good explanation:
    [http://wordpress.org/support/topic/137793?replies=8#post-628701](http://wordpress.org/support/topic/137793?replies=8#post-628701)

Viewing 4 replies - 1 through 4 (of 4 total)

The topic ‘Restricting Custom SQL by Certain Categories’ is closed to new replies.

## Tags

 * [categories](https://wordpress.org/support/topic-tag/categories/)
 * [category](https://wordpress.org/support/topic-tag/category/)
 * [custom](https://wordpress.org/support/topic-tag/custom/)
 * [exclude](https://wordpress.org/support/topic-tag/exclude/)
 * [join](https://wordpress.org/support/topic-tag/join/)
 * [MySQL](https://wordpress.org/support/topic-tag/mysql/)
 * [query](https://wordpress.org/support/topic-tag/query/)
 * [restrict](https://wordpress.org/support/topic-tag/restrict/)
 * [sql](https://wordpress.org/support/topic-tag/sql/)
 * [table](https://wordpress.org/support/topic-tag/table/)

 * 4 replies
 * 2 participants
 * Last reply from: [MichaelH](https://wordpress.org/support/users/michaelh/)
 * Last activity: [18 years, 6 months ago](https://wordpress.org/support/topic/restricting-custom-sql-by-certain-categories/#post-593297)
 * Status: resolved

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
