Title: SQL query on multiple custom fields
Last modified: August 19, 2016

---

# SQL query on multiple custom fields

 *  [MWM](https://wordpress.org/support/users/mike235/)
 * (@mike235)
 * [16 years, 4 months ago](https://wordpress.org/support/topic/sql-query-on-multiple-custom-fields/)
 * Hi,
 * I am trying to set up a custom SQL query that would return posts based on parameters
   of TWO custom fields.
 * Right now, I can get it to work only with one field, with this query :
 *     ```
       $querystr = "
       SELECT wposts.*
       FROM $wpdb->posts wposts
       	LEFT JOIN $wpdb->postmeta wpostmeta ON wposts.ID = wpostmeta.post_id
       	LEFT JOIN $wpdb->term_relationships ON (wposts.ID = $wpdb->term_relationships.object_id)
       	LEFT JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
       WHERE
       	(wpostmeta.meta_key = 'City' AND (wpostmeta.meta_value = '$city1' OR wpostmeta.meta_value = '$city2'))
       	AND $wpdb->term_taxonomy.taxonomy = 'category'
       	AND $wpdb->term_taxonomy.term_id IN(3,4)
       ORDER BY wpostmeta.meta_value ASC
       ";
       ```
   
 * As you can see, it queries posts belonging to category 3 or 4, with the custom
   field “City” being equal to $city1 or $city2.
 * Now, I’d like to add a second custom field named “Price” to the query, how would
   I do that?
 * I tried the following, which doesn’t seem to work :
 *     ```
       $querystr = "
       SELECT wposts.*
       FROM $wpdb->posts wposts
       	LEFT JOIN $wpdb->postmeta wpostmeta ON wposts.ID = wpostmeta.post_id
       	LEFT JOIN $wpdb->term_relationships ON (wposts.ID = $wpdb->term_relationships.object_id)
       	LEFT JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
       WHERE
       	(wpostmeta.meta_key = 'City' AND (wpostmeta.meta_value = '$city1' OR wpostmeta.meta_value = '$city2'))
       	AND
       	(wpostmeta.meta_key = 'Price' AND wpostmeta.meta_value BETWEEN = '2000' AND '10000')
       	AND $wpdb->term_taxonomy.taxonomy = 'category'
       	AND $wpdb->term_taxonomy.term_id IN(3,4)
       ORDER BY wpostmeta.meta_value ASC
       LIMIT 50
       ";
       ```
   
 * Any advice ?

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

 *  [MichaelH](https://wordpress.org/support/users/michaelh/)
 * (@michaelh)
 * [16 years, 4 months ago](https://wordpress.org/support/topic/sql-query-on-multiple-custom-fields/#post-1391839)
 * Might look at this example:
    [http://codex.wordpress.org/wpdb#Examples_4](http://codex.wordpress.org/wpdb#Examples_4)
 *  Thread Starter [MWM](https://wordpress.org/support/users/mike235/)
 * (@mike235)
 * [16 years, 4 months ago](https://wordpress.org/support/topic/sql-query-on-multiple-custom-fields/#post-1391888)
 * Thanks MichaelH,
 * I tried the example from the Codex on a fresh WordPress, creating an article 
   with custom fields ‘model’,’year’,’manufacturer’ and corresponding values just
   like in the example, but it gives no result 🙁
 * Has this script really been tested or is it just a quick adaptation from this
   one like is suggested in the text : [http://stackoverflow.com/questions/1690762/complicated-mysql-query/1690808#1690808](http://stackoverflow.com/questions/1690762/complicated-mysql-query/1690808#1690808)
 * Isn’t it possible to keep the same logic as the example I posted? which is also
   from the Codex btw ([http://codex.wordpress.org/Displaying_Posts_Using_a_Custom_Select_Query#Query_based_on_Custom_Field_and_Category](http://codex.wordpress.org/Displaying_Posts_Using_a_Custom_Select_Query#Query_based_on_Custom_Field_and_Category))
 *  [MichaelH](https://wordpress.org/support/users/michaelh/)
 * (@michaelh)
 * [16 years, 4 months ago](https://wordpress.org/support/topic/sql-query-on-multiple-custom-fields/#post-1391928)
 * > Has this script really been tested
 * Actually I did test that before putting it in Codex so not sure why you are having
   that problem.
 *  [MichaelH](https://wordpress.org/support/users/michaelh/)
 * (@michaelh)
 * [16 years, 4 months ago](https://wordpress.org/support/topic/sql-query-on-multiple-custom-fields/#post-1391932)
 * Also might look at [http://wordpress.org/support/topic/237079](http://wordpress.org/support/topic/237079)
 *  Thread Starter [MWM](https://wordpress.org/support/users/mike235/)
 * (@mike235)
 * [16 years, 4 months ago](https://wordpress.org/support/topic/sql-query-on-multiple-custom-fields/#post-1391981)
 * Thanks for the lead, I’ll try this

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

The topic ‘SQL query on multiple custom fields’ is closed to new replies.

## Tags

 * [custom field](https://wordpress.org/support/topic-tag/custom-field/)
 * [multiple](https://wordpress.org/support/topic-tag/multiple/)
 * [query](https://wordpress.org/support/topic-tag/query/)
 * [sql](https://wordpress.org/support/topic-tag/sql/)

 * 5 replies
 * 2 participants
 * Last reply from: [MWM](https://wordpress.org/support/users/mike235/)
 * Last activity: [16 years, 4 months ago](https://wordpress.org/support/topic/sql-query-on-multiple-custom-fields/#post-1391981)
 * Status: not resolved

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
