2016-08-16 109 views
0

我试图从woocommerce中抽出一些数据,并有90%的我想工作得很好,但是postmeta正在杀死我。我试图获取与帖子相关的postmeta条目的子集,而不是所有这些条目,如果我只选择一个meta_key,它可以正常工作,但倍数会从表中返回所有meta_key/meta_value对,无论post_id如何。我不是一个dba,我知道有足够的SQL让自己陷入困境。我已经完成了。现在我正在寻找一些指导。谢谢。基于其他列的值获取MySQL列根据其他列的值

select meta_key, meta_value from wp_postmeta where post_id=1923 
AND meta_key='_billing_first_name' 
OR meta_key='_billing_last_name' 

回答

1

or准则否定post_id=1923。你可以使用括号:

select meta_key, meta_value 
from wp_postmeta 
where post_id=1923 and 
    (meta_key='_billing_first_name' or meta_key='_billing_last_name') 

但使用in可能会是你最好的选择:

select meta_key, meta_value 
from wp_postmeta 
where post_id=1923 and 
    meta_key in ('_billing_first_name', '_billing_last_name') 
+0

啊,太棒了,这做到了!谢谢! –