Я хочу получить из параметра @Display
значение 0, 1 или 2. Когда @Display = 0, я хочу отобразить все элементы, для которых ec.IsEquipmentRelated
имеет значение true.Когда @Display = 0, я хочу отобразить все элементы, для которых ec.IsEquipmentRelated
имеет значение false, а когда @Display = 2, я хочу отобразить все элементы, для которых ec.IsEquipmentRelated
равно true ИЛИ false.Как я могу реализовать это в разделе FROM
?
ALTER PROCEDURE [dbo].[Downtime_GetNewCause_EquimentLocation]
@DisplayInactive bit = 0,
@SortOrder INT = 0,
@Diplay INT = 0
AS
-- Main Data source
SELECT ic.IncidentCauseID
, 'EquimentRelated' = COALESCE(ec.IsEquipmentRelated, 0)
, ic.NewIncidentCauseID
, ic.DisplayName
, ic.IsLegacy
, el.EquipmentLocationID
, el.ShopID
, ec.EquipmentClassID
, ec.EquipmentAbbr
, el.ClassSequenceNumber
, el.EquipmentComponent
, el.CompSequenceNumber
, ic.IsActive
FROM Downtime_IncidentCauses ic
LEFT JOIN Downtime_EquipmentLocations el ON ic.EquipmentLocationID = el.EquipmentLocationID
LEFT JOIN Downtime_EquipmentClasses ec ON el.EquipmentClassID = ec.EquipmentClassID AND
CASE WHEN @Diplay = 0 THEN ...
CASE WHEN @Diplay = 1 THEN ...
CASE WHEN @Diplay = 2 THEN ...