我有如下的SQL搜索:
select distinct user_id from wp_usermeta where ( meta_key='postcode' and meta_value= '3000') or ( meta_key='state' and meta_value= 'vic') or ( meta_key='maternitybg' and meta_value= 'No')
我的问题是如何更改查询以便搜索meta_value 3000,vic和No for user_id?所有行都附加了user_id,这就是为什么我使用不同的函数,因为它清除了重复项。目前的问题是它获得了meta_value为No的所有用户,这不是我想要的,因为我想通过邮政编码和状态进行过滤。
有什么想法吗?
答案 0 :(得分:0)
SELECT user_id FROM wp_usermeta
WHERE ( meta_key='postcode' AND meta_value= '3000') OR
( meta_key='state' AND meta_value= 'vic') OR
( meta_key='maternitybg' AND meta_value= 'No' )
GROUP BY user_id
HAVING COUNT(DISTINCT meta_key) = 3