2016-03-24 10 views
0

文字列ではなくwp_postmetaテーブルからmeta_valueを取得する際に問題が発生します。乱数を取得しています。 3番目のIFは機能しません。最初の2つは正常です。Wordpress Sql meta_valueは文字列の代わりにintを返します

SELECT wp_posts.post_title,meta.result,meta.odd,meta.pick 
FROM `wp_posts` 
JOIN (
    SELECT post_id, sum( 
    if(meta_key = 'result', meta_value, 0) 
) AS result, 
    sum( 
    if(meta_key = 'odd', meta_value, 0) 
) AS odd, 
    if(meta_key = 'Pick', 'N/A', wp_postmeta.meta_value) AS pick 
FROM `wp_postmeta` 
GROUP BY post_id)as meta 
ON wp_posts.id = meta.post_id; 

事前に感謝します。 MAX(CASE WHEN wp_postmeta.meta_key = 'ピック' 次いでwp_postmeta.meta_value ELSE NULL END) を選択し、それが働いたとして:代わりにIFの

+0

なぜwordpressが提供するget_post_meta()関数を使用していないのでしょうか? – Christophe

+0

はい@Christophe – George

答えて

0

は、これを使用しました。

関連する問題