具有多个Or和And条件的SQL语句

时间:2013-11-18 23:07:49

标签: sql

我有一个问题,我现在无法找到解决方案。

这是一个我的类型的sql语句示例:

SELECT * FROM table
WHERE ((id IS '2' AND name IS 'foo' ) OR 
   (is IS '3' AND name IS 'bar' ) OR 
   (id IS '4' AND name IS 'foobar'))

由于任何原因它只返回一行但它应该返回所有3行。

编辑:

我发现了我的错误,这只不过是我的愚蠢。 很抱歉给您带来不便.....

在我的真实陈述中所有ORd条款相等,我看不到森林的树..

2 个答案:

答案 0 :(得分:0)

我几乎都说问题在于您的数据,但您没有给我们足够的信息。检查你的桌子,确保你正确查询。根据您的陈述,您的查询应该有效(带有更正的修复)。在这里查看sqlfiddle linke。

答案 1 :(得分:0)

您应尽可能使用标准SQL语法。

SELECT * FROM table

ID    NAME
==    ====
1     boo
2     foo
3     bar
4     foobar

SELECT 
  * 
FROM 
  table
WHERE 
  (id = '2' AND name = 'foo' ) OR 
  (id = '3' AND name = 'bar' ) OR 
  (id = '4' AND name = 'foobar')

ID    NAME
==    ====
2     foo
3     bar
4     foobar