我的查询中有以下子句。我有一个叫做服务条目的表和一个叫做服务条目部分的第二个表。服务条目记录可以具有多个服务条目部分。服务条目部分表有一个名为servicetypeids的列,格式如下:第1行:1,2,3,第2行:3,4,依此类推。我使用Table值函数来查看服务部分中哪些服务条目具有服务类型id,例如我的param可以是1或2,3,依此类推。查询的那部分工作正常我交叉应用等等。我想要做的是如果我的参数@ServiceTypes是NULL然后我不想搜索agaiants servicetypeids列并简单地返回服务条目中存在的服务条目部分。我仍然会加入零件表,零件活动状态正常。虽然寻求帮助,但它有点复杂。
S.ID IN(SELECT DISTINCT ServiceEntryID
FROM
ServiceEntryPart M
CROSS APPLY
dbo.SplitStrings_Moden(M.ServiceTypeIDs, N',') M2
JOIN dbo.SplitStrings_Moden(@ServiceTypes, N',') P ON M2.Item = P.Item
INNER JOIN Part ON M.PartID = Part.ID
WHERE
@ActivePart is null or @ActivePart = Part.Active))