4
基本上,當meta_key字段等於「位置」時,我想添加一個額外的where子句來根據該位置進行比較。MySQL有條件的地方條款
我試過這種情況與案例和IF語句,但似乎無法得到它的工作,任何想法,我哪裏出錯了?
$query = "
SELECT wp_posts.ID, wp_posts.post_title, wp_posts.post_type,
wp_postmeta.meta_key, wp_postmeta.meta_value, wp_postmeta.post_id,
wp_term_relationships.object_id, wp_term_relationships.term_taxonomy_id,
wp_term_taxonomy.term_id,
wp_terms.term_id, wp_terms.name
FROM wp_posts
/* Join Post Meta Table */
JOIN wp_postmeta
ON wp_posts.ID = wp_postmeta.post_id
/* Join Term Relationships Table to get the taxonomy id */
JOIN wp_term_relationships
ON wp_posts.ID = wp_term_relationships.object_id
/* Join Term Taxonomy Table to get the Term ID */
JOIN wp_term_taxonomy
ON wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id
/* Finally Join to the Terms table to get the Category Name *sigh* */
JOIN wp_terms
ON wp_term_taxonomy.term_id = wp_terms.term_id
WHERE post_type = 'listing' AND
wp_postmeta.meta_key IN ('locations', 'email', 'phone-number')";
if(isset($location)) {
$query .= "
IF wp_postmeta.meta_key='location'
THEN AND wp_postmeta.meta_value LIKE '".mysql_real_escape_string($location)."'
END IF";
}
謝謝,讓我知道如果我沒有足夠清楚地解釋任何事情!
謝謝,這正是我想要的。 – 2011-04-10 23:13:27