【发布时间】:2018-09-02 14:27:28
【问题描述】:
我基本上只想返回通过参数输入的一名患者,或者如果参数中没有传递任何值,则返回所有患者。我的代码可以做到这一点吗?我不断收到此错误:
当不使用 EXISTS 引入子查询时,选择列表中只能指定一个表达式。
我的代码:
create proc getOutsideLeadPatients
@patient int = null
as
begin
if @patient is not null
return (select *
from tblpatientdemographics p
where exists (select * from tblDBSSurgery s
where s.idpatient = p.idpatient
and s.blnoutside = 1
and p.idpatient = @patient))
else if @patient is null
return select *
from tblpatientdemographics p
where exists (select * from tblDBSSurgery s
where s.idpatient = p.idpatient
and s.blnoutside = 1)
end
go
【问题讨论】:
-
程序代码是高度特定于供应商的 - 所以请添加一个标签来指定您是否使用
mysql、postgresql、sql-server、oracle或db2- 或完全不同的东西。 -
我使用的是 SQL Server 2008
-
您不需要退货。您可以选择返回记录集。
标签: sql sql-server-2008 stored-procedures parameters