我有一个在 WHERE 子句中包含多个条件的 SQL 语句,但是一旦满足一个条件,查询就会停止。我需要的是查询返回与其中一个条件相关的所有行。
例如:
select * from EMPLOYEE_LEAVE
where
ENUMBER = :num
or
EFNAME = 'Sebastien'
or
ESNAME = :sname
在这种情况下,查询必须搜索 EFNAME 为 Sebastien 的所有记录。我的数据库中有两条符合此条件的记录,但查询仅返回第一个结果。我将如何显示符合此条件的所有记录?
SQL 将返回符合您条件的所有行。如果你只得到第一行,那么这不是一个 SQL 问题,而是你的前端编程问题。给出您的代码示例,我们可以回答您犯的错误。
也许 Sebastien Smith 的名字中有一个特殊字符,但在您使用的工具中无法立即看到。 (例如塞巴斯蒂安)
我发现了问题。对数据库进行更改时,Database Workbench 不会更新 SQL 编辑器窗口。我必须关闭 SQL 编辑器并重新打开它以便编辑器查看更改,我从 @N-West 和 @Tim 的评论中注意到这一点(顺便说一句,两个查询仅返回一行)。