SQL Where 子句返回多个结果

问题描述 投票:0回答:3

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

例如:

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

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

sql firebird where-clause firebird2.1
3个回答
0
投票

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


0
投票

也许 Sebastien Smith 的名字中有一个特殊字符,但在您使用的工具中无法立即看到。 (例如塞巴斯蒂安)


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.