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_值是长文本的,搜索时需要引用!!嘿,雷夫,太多了,你的回答解决了我的问题。