次のクエリがあります。
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
、部門テーブルのすべてのレコードを返す必要があります。
これを行う最も簡単で最適な方法は何ですか?