我正在编写一个存储过程来获取基于CATEGORY ID
传递给它的详细信息,如果CATEGORY ID
传递给它不为空,我正在获取基于CATEGORY ID
,如果CATEGORY ID
为空,我正在获取CATEGORY ID
除之外的所有详细信息3
,任何人都可以帮助我解决这个问题。
我的程序是这样的:
CREATE procedure [dbo].[SearchAssetdetails]
(
@assetCategory as int = null,
@assetType as int = null,
@assetDescription as nvarchar(200) = null,
@purchaseDate as datetime = null,
@validUpto as datetime = null)
as
begin
select ad.CategoryID,ad.AssetTypeId,ad.AssetDetailId,ad.AssetDescription,ad.Cost,ad.IsOwn,ad.LastModifiedby,ad.LastModifiedDatetime,ad.Location,ad.NoofLicences,ad.PurchaseDate,ad.SerialNumber,ad.ValidUpto,ad.VendorId,ad.Version,ad.WarrantyExpirationDate
from AssetDetails ad where
(ad.AssetDescription like (case when @assetDescription is not null then '%'+@assetDescription+'%' else ad.AssetDescription end)
and ad.CategoryID=(case when @assetCategory is not null then @assetCategory else ad.CategoryID end)
and ad.AssetTypeId=(case when @AssetType is not null then @AssetType else ad.AssetTypeId end)
and ad.PurchaseDate=(case when @purchaseDate is not null then @purchaseDate else ad.PurchaseDate end)
and ad.ValidUpto=(case when @validUpto is not null then @validUpto else ad.ValidUpto end)
) end;