あなたAddlDataFieldGroupId
がゼロになることができない場合は、まったくCASE
を必要としません。これは仕事を行います。
SELECT Id
FROM dbo.OWL_AddlDataFields
WHERE CustomerId = @BaseCustomerId
AND AddlDataFieldCategoryId = @AddlDataFieldCategoryId
AND AddlDataFieldGroupId = @AddlDataFieldGroupId
AND Name = @DataFieldName
AddlDataFieldGroupId
がゼロになることができますが、これを行うことができ、負になることができない場合は、次の
また
SELECT Id
FROM dbo.OWL_AddlDataFields
WHERE CustomerId = @BaseCustomerId
AND AddlDataFieldCategoryId = @AddlDataFieldCategoryId
AND AddlDataFieldGroupId = CASE WHEN
@AddlDataFieldGroupId = 0 THEN -1 ELSE @AddlDataFieldGroupId END
AND Name = @DataFieldName
、これは関係なく、AddlDataFieldGroupId
ができるものの動作します:
を
SELECT Id
FROM dbo.OWL_AddlDataFields
WHERE CustomerId = @BaseCustomerId
AND AddlDataFieldCategoryId = @AddlDataFieldCategoryId
AND AddlDataFieldGroupId = CASE WHEN
@AddlDataFieldGroupId = 0 THEN AddlDataFieldGroupId - 1 ELSE @AddlDataFieldGroupId END
AND Name = @DataFieldName
注:これらのソリューションはすべて、AddlDataFieldGroupId
をNULL
にすることはできません。