I am running a query successfully in wordpress.Query is as follows.
SELECT wp_posts.*, wp_postmeta.meta_value FROM wp_posts, wp_postmeta, wp_term_relationships, wp_terms
WHERE term_id = '12' AND term_taxonomy_id = '12' AND ID = post_id
AND ID = object_id AND post_type = 'property' AND post_status = 'publish'
AND meta_key = 'property_amount' AND replace( replace(meta_value, ',', ''), '"', '' ) >= 1
GROUP BY wp_posts.ID ORDER BY replace( replace(meta_value, ',', ''), '"', '' ) DESC
LIMIT 0, 10
But I want to add one more meta_key and its value condition in above query so I changed my query to this
SELECT wp_posts.*, wp_postmeta.meta_value FROM wp_posts, wp_postmeta, wp_term_relationships, wp_terms
WHERE term_id = '12' AND term_taxonomy_id = '12' AND ID = post_id
AND ID = object_id AND post_type = 'property' AND post_status = 'publish'
AND meta_key = 'property_amount' AND replace( replace(meta_value, ',', ''), '"', '' )
>= 1
AND meta_key="property_land_type" and meta_value IN ('L','H','C')
GROUP BY wp_posts.ID ORDER BY replace( replace(meta_value, ',', ''), '"', '' ) DESC
LIMIT 0, 10
Following line is extra in first query
meta_key="property_land_type" and meta_value in ('L','H','C')
But it is not working. How to do this.I can not write WP_Query this time as I have lots of other queries based on this query.
Thanks in advance!!!
You have multiple meta_keys against one column you need
IN()
for both meta_key and value likeTry this query
EDIT
Try this one with join ,i have joined wp_postmeta two times for two meta_keys
In your second query you have two contradicting conditions:
meta_key = 'property_amount' AND meta_key="property_land_type"
No result satisfies both conditions