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

Sql 如何使用AND运算符从单个列检索多个值,sql,Sql,当在meta\u value列中找到两个值的匹配项时,我想grab user\u id。例如,如果存在“tagowner”的记录,而另一个值仅在meta\u value列中为“999” 我尝试在操作符中使用: SELECT * from wp_usermeta where meta_value IN ('tagowner',999); 但这也显示了其他组的结果。我只需要“tagowner”和“999”的结果 谢谢元值是非数字类型 SELECT * FROM wp_usermeta W

当在
meta\u value
列中找到两个值的匹配项时,我想
grab user\u id
。例如,如果存在
“tagowner”
的记录,而另一个值仅在
meta\u value
列中为
“999”

我尝试在操作符中使用

SELECT * from wp_usermeta where meta_value IN ('tagowner',999); 
但这也显示了其他组的结果。我只需要
“tagowner”
“999”
的结果


谢谢

元值是非数字类型

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

如果需要两行都存在的用户标识,可以使用或自连接:

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 )

示例:

一个字段怎么可以有两个值
tagowner
999
DB表未规范化@AndyGee-这不是一个好的做法。这似乎是一种增长趋势。我不完全理解这个问题,但您可以使用AND运算符一次查询多个表列。从wp_usermeta中选择*其中meta_value=tagowner和meta_value=999;。另外,我强烈建议使用word Press内置的方法来检索这些数据。很难说你的意思,但也许你打算
标记所有者不为空
?你能告诉我们查询的结果吗?什么类型的meta_值?斑点?然后你应该将999包装为'999'并且Wordpress meta_值是长文本的,搜索时需要引用!!嘿,雷夫,太多了,你的回答解决了我的问题。