0

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

例如:

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

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

4

3 回答 3

0

SQL 将返回所有符合您条件的行。如果你只得到第一行,那么这不是 SQL 问题,而是你的前端编程问题。提供您的代码示例,我们可以回答您的错误。

于 2011-05-23T11:21:34.660 回答
0

也许 Sebastien Smith 的名字中有一个特殊字符,这在您使用的工具中不会立即显示。(例如塞巴斯蒂安)

于 2011-05-23T11:42:05.943 回答
0

好的,我发现了问题。

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

感谢您的所有回复:)

于 2011-05-24T08:13:26.263 回答