首先,对不起这个标题,我尽力描述了它。
我试图覆盖WordPress的功能wc_get_product_ids_on_sale(),因为我的一个插件正在创建_sale_price,即使价格与价格相同。
我想知道,我如何仅获取具有以下内容的post_id:
我只知道如何清空...
SELECT post_id FROM wp_postmeta
WHERE meta_key = '_sale_price'
AND meta_value <> ''
你有什么想法吗?
答案 0 :(得分:1)
您需要使用数据透视提取并比较元值:
SELECT post_id
FROM wp_postmeta
GROUP BY post_id
HAVING
MAX(CASE WHEN meta_key = '_sale_price' THEN meta_value END) = '' AND
MAX(CASE WHEN meta_key = '_price' THEN meta_value END) <> '';
此答案假定meta_value
列是文本,而不是数字。如果该列是数字列,那么您将必须在此处弄清什么意思。
如果您不熟悉数据透视查询的概念,请参考this SO question以获取更多信息。