我有以下查询。
CREATE TYPE [dbo].[DeptIdList] AS TABLE(
[DepartmentId] [smallint] NULL
)
GO
set nocount on
declare @department_ids DeptIdList
declare @tableContainsRecords int = 0
insert into @department_ids
values
(5), (6), (7), (8), (9)
select d.DepartmentID, d.Name, d.GroupName
from HumanResources.Department as d
right outer join @department_ids as di on
d.DepartmentID = di.DepartmentID
@department_ids
如果包含行,我想选择特定部门;如果不是,SELECT
则应返回部门表中的所有记录。
最简单和最佳的方法是什么?