使用AND而不是OR的MySQL查询

时间:2011-05-26 09:30:39

标签: mysql

如何编写AND查询而不是使用VALUE IN

我需要得到确切的结果:这是主表

id  name value     
1   weight  120
2   height   5
3   active  true
4   age     35

我应该得到ids(体重120和身高5和35岁)。 当(体重120和身高5和年龄100)

时,不应该得到结果

任何帮助

感谢

2 个答案:

答案 0 :(得分:0)

简单的一个:

SELECT * FROM table
WHERE `name` IN ('one', 'two') AND `value` BETWEEN 1 AND 2;

我希望我帮到你。

更新

完全没有IN,它看起来像下面的查询:

SELECT * FROM table
WHERE (`name` = 'one' OR `name` = 'two') AND `value` BETWEEN 1 AND 2;

更新2

如果您正在寻找配对:

SELECT * FROM table
WHERE (`name` = 'one' AND `value` = '1') OR (`name` = 'two' AND `value` = '2');

更新3

...另外还有效:

SELECT * FROM table
WHERE ((`name` = 'one' AND `value` = '1') OR (`name` = 'two' AND `value` = '2'))
  AND `active` = true;

虽然看起来糟糕的数据库设计。也许你可以让我们进一步了解你想要做什么。

答案 1 :(得分:0)

尝试

SELECT * FROM table WHERE name='one' OR name='two'

或尝试

SELECT * FROM table WHERE id=1 OR id=2