CREATE PROCEDURE [dbo].[sp_ChannelsGet_99] @Id BIGINT = NULL, @GroupId INT = NULL, @DASId INT = NULL, @SensorId INT = NULL, @TestSetupId INT = NULL, @TestSetupName [NVARCHAR] (255) = NULL AS BEGIN SET NOCOUNT ON; IF( @Id IS NULL) BEGIN IF( @GroupId IS NULL) BEGIN IF( @DASId IS NULL) BEGIN IF( @SensorId IS NULL) BEGIN IF( @TestSetupId IS NULL) BEGIN IF NULLIF(@TestSetupName, '') IS NULL BEGIN SELECT [Id], [GroupId], [IsoCode], [IsoChannelName], [UserCode], [UserChannelName], [DASId], [DASChannelIndex], [GroupChannelOrder], [TestSetupOrder], [SensorId], [Disabled], [LastModified], [LastModifiedBy] FROM [dbo].[Channels] END ELSE BEGIN SELECT A.Id, A.GroupId, A.IsoCode, A.IsoChannelName, A.UserCode, A.UserChannelName, A.DASId, A.DASChannelIndex, A.GroupChannelOrder, A.TestSetupOrder, A.SensorId, A.[Disabled], A.LastModified, A.LastModifiedBy FROM [dbo].[Channels] AS A inner join [dbo].Groups AS B ON A.GroupId=B.Id INNER JOIN [dbo].TestSetupGroups AS C ON B.Id=C.GroupId INNER JOIN [dbo].TestSetups AS D on C.TestSetupId=D.TestSetupId WHERE D.TestSetupName=@TestSetupName END END ELSE BEGIN SELECT A.Id, A.GroupId, A.IsoCode, A.IsoChannelName, A.UserCode, A.UserChannelName, A.DASId, A.DASChannelIndex, A.GroupChannelOrder, A.TestSetupOrder, A.SensorId, A.[Disabled], A.LastModified, A.LastModifiedBy FROM [dbo].[Channels] AS A INNER JOIN [dbo].Groups as B ON A.GroupId=B.Id INNER JOIN [dbo].TestSetupGroups AS C on B.Id=C.GroupId WHERE C.TestSetupId=@TestSetupId END END ELSE BEGIN SELECT A.Id, A.GroupId, A.IsoCode, A.IsoChannelName, A.UserCode, A.UserChannelName, A.DASId, A.DASChannelIndex, A.GroupChannelOrder, A.TestSetupOrder, A.SensorId, A.[Disabled], A.LastModified, A.LastModifiedBy FROM [dbo].[Channels] AS A INNER JOIN [dbo].DAS AS B ON A.DASId=B.DASId WHERE A.[SensorId]=@SensorId END END ELSE BEGIN SELECT A.Id, A.GroupId, A.IsoCode, A.IsoChannelName, A.UserCode, A.UserChannelName, A.DASId, A.DASChannelIndex, A.GroupChannelOrder, A.TestSetupOrder, A.SensorId, A.[Disabled], A.LastModified, A.LastModifiedBy FROM [dbo].[Channels] AS A WHERE A.[DASId]=@DASId END END ELSE BEGIN SELECT A.Id, A.GroupId, A.IsoCode, A.IsoChannelName, A.UserCode, A.UserChannelName, A.DASId, A.DASChannelIndex, A.GroupChannelOrder, A.TestSetupOrder, A.SensorId, A.[Disabled], A.LastModified, A.LastModifiedBy FROM [dbo].[Channels] AS A WHERE A.[GroupId]=@GroupId END END ELSE BEGIN SELECT A.Id, A.GroupId, A.IsoCode, A.IsoChannelName, A.UserCode, A.UserChannelName, A.DASId, A.DASChannelIndex, A.GroupChannelOrder, A.TestSetupOrder, A.SensorId, A.[Disabled], A.LastModified, A.LastModifiedBy FROM [dbo].[Channels] AS A WHERE A.[Id]=@Id END END