Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
返回多个结果的SQL Where子句_Sql_Firebird_Where Clause_Firebird2.1 - Fatal编程技术网

返回多个结果的SQL Where子句

返回多个结果的SQL Where子句,sql,firebird,where-clause,firebird2.1,Sql,Firebird,Where Clause,Firebird2.1,我在WHERE子句中有一个包含多个条件的SQL语句,但是一旦满足一个条件,查询就会停止。我需要的是查询返回与其中一个条件相关的所有行 例如: select * from EMPLOYEE_LEAVE where ENUMBER = :num or EFNAME = 'Sebastien' or ESNAME = :sname 在这种情况下,查询必须搜索EFNAME为Sebastien的所有记录。我的数据库中有两条记录符合此条件,但是查询只返回第一个结果。如何显

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

例如:

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

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

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

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

好的,我发现了问题

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


感谢您的回复:)

您使用的是什么RDBMS?搜索是否区分大小写?Sql将返回包含所有匹配行的集合,因此肯定有其他错误。您使用的是哪个dbms/服务器,以及如何评估结果?如果同一行匹配多个条件,您是否希望多次返回同一行?如果是这样的话,
UNION ALL
可能就是您所需要的(尽管我不明白为什么需要这样做)@Oded和@faester-我正在使用Firebird 2.1和数据库工作台4 Lite for Firebird。问题可能出在Database Workbench上,因为我所做的只是编写语句并执行它@约翰:不,两排。我的数据库中有Sebastien Smith和Sebastien Russell,当使用上述查询搜索Sebastien时,我希望返回两行,但只返回Sebastien Russell。SELECT*FROM EMPLOYEE_LEVE在哪里EFNAME='Sebastien'返回两行?您好@TomTom-谢谢您的回复。我问题中的SQL片段是我在Database Workbench 4 Lite for Firebird中使用的语句,我还没有实现任何前端开发。