2
我使用通用的wordpress sql語句來獲取帖子標題。我想用一個seo插件中的allme的postmeta值來替換帖子標題,這是一個全部在seo標題中存在的帖子。在mysql語句中使用if語句
如何在sql命令中使用if語句?
現有代碼沒有全部在一個if語句。
//Limit to last 30 days, 1,000 items
$rows = $wpdb->get_results("SELECT $wpdb->posts.ID, $wpdb->posts.post_date_gmt, $wpdb->posts.post_title
FROM $wpdb->posts, $wpdb->postmeta
WHERE $wpdb->posts.post_status='publish'
AND (DATEDIFF(CURDATE(), post_date_gmt)<=30)
$includeMe
ORDER BY $wpdb->posts.post_date_gmt DESC
LIMIT 0, 1000");
這是菲爾的回答:
$rows = $wpdb->get_results("SELECT COALESCE($wpdb->postmeta.meta_value, $wpdb->posts.post_title) AS post_title, $wpdb->posts.post_date_gmt, $wpdb->posts.ID
FROM $wpdb->posts
LEFT JOIN $wpdb->post_meta
ON $wpdb->posts.ID = $wpdb->postmeta.post_id
AND $wpdb->postmeta.meta_key = '_aioseop_title'
WHERE $wpdb->posts.post_status='publish'
AND (DATEDIFF(CURDATE(), post_date_gmt)<=30)
$includeMe
ORDER BY $wpdb->posts.post_date_gmt DESC
LIMIT 0, 1000");
酷感謝 - 現在要嘗試 - 之前從未見過聚結()函數。 – 2011-04-14 02:11:24
菲爾,我只是改變了我的功能,我收到一個錯誤 - 我將把它重新發回問題 - 你介意看看嗎? – 2011-04-14 02:58:06
什麼是錯誤? – squawknull 2011-04-14 03:04:00