如何使用AND运算符从单列检索多个值

时间:2014-02-20 07:21:10

标签: sql

如果找到grab user_id列中两个值的匹配项,我想meta_value。例如,如果"tagowner"存在记录,而"999"列中的其他值仅为meta_value

我尝试使用IN运算符: -

SELECT * from wp_usermeta where meta_value IN ('tagowner',999); 

但这也显示了其他组的结果。我只需要"tagowner""999"的结果。

谢谢

2 个答案:

答案 0 :(得分:2)

meta_value是非数字类型。

SELECT * 
FROM   wp_usermeta 
WHERE  meta_value IN ( 'tagowner', '999' ); 

答案 1 :(得分:0)

如果您需要两个行所在的user_ids,您可以使用EXISTS或自我加入:

SELECT * FROM wp_usermeta t1
WHERE meta_value = 'tagowner'
AND EXISTS (SELECT 1 FROM wp_usermeta t2 
            WHERE t2.meta_value = '999' 
            AND t1.user_id = t2.user_id )

示例:sqlfiddle