2016-03-24 20 views
0

wp_postmeta tablosundan bir meta_value almayla ilgili bir sorunum var, sadece bir rasgele sayı alıyorum bir dize yerine, belki de istediğim gibi çalışmasını sağlamak için bu sorguyu nasıl değiştirebilirim biliyordur. Üçüncü IF çalışmıyor, ilk 2 iyi.Wordpress Sql meta_value dize yerine int döndürür

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; 

Şimdiden çok teşekkürler. MAX (bir durum, wp_postmeta.meta_key = 'bahis' sonra wp_postmeta.meta_value ELSE NULL END) almak ve çalıştı: Bunun yerine IF

+0

wordpress'in sağladığı get_post_meta() işlevini kullanmamanızın bir nedeni var mı? – Christophe

+0

yes @Christophe – George

cevap

İlgili konular