У меня есть хранимая процедура, которую я создал, и иногда есть параметры, которые передают значение NULL. Я настроил хранимую процедуру, чтобы принять это во внимание, но каждый раз, когда я передаю значение NULL, она ничего не возвращает, даже если переданы некоторые другие параметры. Не могли бы вы помочь? Вот моя хранимая процедура. Я не уверен, что это неправильное соединение или что.
Спасибо.
@ProductID int = NULL,
@CollectionID int = NULL,
@ApplicationID int = NULL,
@StyleID int = NULL
AS
SELECT
dbo.CrossoverDesignTable.ColorNum, dbo.CrossoverDesignTable.CrossoverID,
dbo.ImagesWebsite.Description,
dbo.DesignNameTable.DesignDescription + ' ' + dbo.CrossoverDesignTable.ColorNum AS DesignColor,
dbo.CollectionTable.CollectionDescription
FROM
dbo.CrossoverDesignTable
INNER JOIN
dbo.DesignNameTable ON dbo.CrossoverDesignTable.DesignNameID = dbo.DesignNameTable.DesignNameID
INNER JOIN
dbo.ImagesWebsite ON dbo.CrossoverDesignTable.ProductImageID = dbo.ImagesWebsite.ProductImageID
INNER JOIN
dbo.CollectionTable ON dbo.CrossoverDesignTable.CollectionID = dbo.CollectionTable.CollectionID
WHERE
(dbo.CrossoverDesignTable.ProductID = @ProductID OR @ProductID IS NULL)
AND (dbo.CrossoverDesignTable.CollectionID = @CollectionID OR dbo.CrossoverDesignTable.CollectionID IS NULL)
AND (dbo.CrossoverDesignTable.ApplicationID = @ApplicationID OR @ApplicationID IS NULL)
AND (dbo.CrossoverDesignTable.ShowOnWeb = 'Yes')
AND (dbo.CrossoverDesignTable.StyleID = @StyleID OR @StyleID IS NULL)
RETURN