SQL用于在同一个表中查询具有名称和值的相同列

时间:2015-05-29 14:29:33

标签: sql

我有一个包含3列的表

Id  name    value
1   m1  v1
2   m2  v2
3   m3  v3
4   m4  v4
5   m5  v5

select *
from table
where name = m1 and value = v1  and name = m2 and value = v2

但目前这不会返回任何值。

任何人都可以请求如何编写sql来处理上述情况。

3 个答案:

答案 0 :(得分:2)

您需要OR名称不能等于m1和m2。 `

尝试

select * from table where (name=m1 and value=v1) OR (name =m2 and value =v2)

答案 1 :(得分:0)

如果我理解你的话......

select *
from table
where name in ('m1', 'm2') and value in (v1, v2)

答案 2 :(得分:0)

没有符合您搜索条件的行。应该是

(name = m1 and value = v1) or (name = m2 and value = v2)