我有一个问题,我现在无法找到解决方案。
这是一个我的类型的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条款相等,我看不到森林的树..
答案 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