SQL返回多个结果的条款

时间:2011-05-23 11:11:12

标签: sql firebird where-clause firebird2.1

我在WHERE子句中有一个包含多个条件的SQL语句,但是一旦满足一个条件,查询就会停止。我需要的是查询返回与其中一个条件有关的所有行。

例如:

select * from EMPLOYEE_LEAVE
where
   ENUMBER = :num
   or
   EFNAME = 'Sebastien'
   or 
   ESNAME = :sname 

在这种情况下,查询必须搜索EFNAME为Sebastien的所有记录。我的数据库中有两条匹配此条件的记录,但查询只返回第一个结果。我将如何显示符合此条件的所有记录?

3 个答案:

答案 0 :(得分:0)

SQL会返回所有的行来处理你的条件。如果你只获得第一行,那么这不是SQL问题,而是你的前端编程之一。提供代码的exmaples,我们可以回答你的错误。

答案 1 :(得分:0)

也许塞巴斯蒂安史密斯的名字中有一个特殊字符,在您使用的工具中不会立即显示。 (比如Sébastien)

答案 2 :(得分:0)

好的,我发现了这个问题。

在对数据库进行更改时,Database Workbench不会更新SQL编辑器窗口。我不得不关闭SQL编辑器并重新打开编辑器以查看更改,我注意到了@N-West和@Tim的注释(两个查询只返回一行,顺便说一下)。

感谢您的所有回复:)