检查同一列中的多个值

时间:2015-05-13 12:12:45

标签: mysql sql filter

这就是我的数据库表结构的外观 -

fieldname

所以我想选择fieldvalue说'国家'且USAfieldnamelanguagefieldvalue且{{1}的行是} English

基本上按键/值对过滤多个值。

我尝试过使用AND关键字,但不返回任何内容

有任何线索吗?

2 个答案:

答案 0 :(得分:4)

尝试使用OR运算符,如下所示

select *
from tab
where (fieldname = 'country' and  fieldvalue = 'USA')
or (fieldname = 'language' and  fieldvalue = 'English')

答案 1 :(得分:2)

字段名称不能同时是“国家/地区”和“语言”。但如果你使用OR,它们都是正确的。

SELECT *
FROM table
WHERE ( fieldname = 'country' AND fieldvalue = 'USA' )
   OR ( fieldname = 'language' AND fieldvalue = 'English');