如何编写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)
时,不应该得到结果任何帮助
感谢
答案 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;
如果您正在寻找配对:
SELECT * FROM table
WHERE (`name` = 'one' AND `value` = '1') OR (`name` = 'two' AND `value` = '2');
...另外还有效:
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