ALTER PROCEDURE [dbo].[sp_SensorsAnalogGet] @Id INT = NULL, @SerialNumber NVARCHAR (50) = NULL, @EID NVARCHAR (50) = NULL AS BEGIN SET NOCOUNT ON; IF( @Id IS NULL) BEGIN IF NULLIF(@SerialNumber, '') IS NULL BEGIN IF( @EID IS NULL) BEGIN SELECT A.id, A.SerialNumber, C.AxisNumber, C.BridgeLegMode, C.BridgeResistance, C.BridgeType, C.Broken, C.SensitivityTolerancePercent , C.BypassFilter, C.CalibrationSignal, C.CalInterval, C.Capacity, C.CheckOffset, C.Comment, C.CouplingMode, C.Created, C.DiagnosticsMode, C.DoNotUse, C.eId, C.ExternalShuntResistance, C.FilterClass, C.InitialEU, C.InternalShuntResistance, C.Invert, C.IsoChannelName, C.IsoCode, C.LastModified, C.LocalOnly, C.Manufacturer, C.MeasurementUnit, C.Model, C.ModifiedBy, C.NumberOfAxes, C.OffsetToleranceHigh, C.OffsetToleranceLow, C.RangeAve, C.RangeHigh, C.RangeLow, C.SensorCategory, C.SensorModelId, C.Shunt, C.[Status], C.SupportedExcitation, C.TimesUsed, C.UniPolar, C.UserChannelName, C.UserCode, C.UserSerialNumber, C.UserTags, C.UserValue1, C.UserValue2, C.UserValue3, C.[Version], C.LatestCalibrationId, C.FirstUseDate, C.ACCouplingModeEnabled, C.AssemblyName, C.UsageCount, C.MaximumUsage FROM [dbo].[Sensors] as A INNER JOIN [dbo].[SensorsType] as B ON A.SensorType=B.TypeId INNER JOIN [dbo].[SensorsAnalog] AS C on A.Id = C.SensorId WHERE B.SensorType='Analog' END ELSE BEGIN SELECT A.id, A.SerialNumber, C.AxisNumber, C.BridgeLegMode, C.BridgeResistance, C.BridgeType, C.Broken, C.SensitivityTolerancePercent , C.BypassFilter, C.CalibrationSignal, C.CalInterval, C.Capacity, C.CheckOffset, C.Comment, C.CouplingMode, C.Created, C.DiagnosticsMode, C.DoNotUse, C.eId, C.ExternalShuntResistance, C.FilterClass, C.InitialEU, C.InternalShuntResistance, C.Invert, C.IsoChannelName, C.IsoCode, C.LastModified, C.LocalOnly, C.Manufacturer, C.MeasurementUnit, C.Model, C.ModifiedBy, C.NumberOfAxes, C.OffsetToleranceHigh, C.OffsetToleranceLow, C.RangeAve, C.RangeHigh, C.RangeLow, C.SensorCategory, C.SensorModelId, C.Shunt, C.[Status], C.SupportedExcitation, C.TimesUsed, C.UniPolar, C.UserChannelName, C.UserCode, C.UserSerialNumber, C.UserTags, C.UserValue1, C.UserValue2, C.UserValue3, C.[Version], C.LatestCalibrationId, C.FirstUseDate, C.ACCouplingModeEnabled, C.AssemblyName, C.UsageCount, C.MaximumUsage FROM [dbo].[Sensors] as A INNER JOIN [dbo].[SensorsType] as B ON A.SensorType=B.TypeId INNER JOIN [dbo].[SensorsAnalog] AS C on A.Id = C.SensorId WHERE B.SensorType='Analog' AND C.eId=@EID END END ELSE BEGIN SELECT A.id, A.SerialNumber, C.AxisNumber, C.BridgeLegMode, C.BridgeResistance, C.BridgeType, C.Broken, C.SensitivityTolerancePercent , C.BypassFilter, C.CalibrationSignal, C.CalInterval, C.Capacity, C.CheckOffset, C.Comment, C.CouplingMode, C.Created, C.DiagnosticsMode, C.DoNotUse, C.eId, C.ExternalShuntResistance, C.FilterClass, C.InitialEU, C.InternalShuntResistance, C.Invert, C.IsoChannelName, C.IsoCode, C.LastModified, C.LocalOnly, C.Manufacturer, C.MeasurementUnit, C.Model, C.ModifiedBy, C.NumberOfAxes, C.OffsetToleranceHigh, C.OffsetToleranceLow, C.RangeAve, C.RangeHigh, C.RangeLow, C.SensorCategory, C.SensorModelId, C.Shunt, C.[Status], C.SupportedExcitation, C.TimesUsed, C.UniPolar, C.UserChannelName, C.UserCode, C.UserSerialNumber, C.UserTags, C.UserValue1, C.UserValue2, C.UserValue3, C.[Version], C.LatestCalibrationId, C.FirstUseDate, C.ACCouplingModeEnabled, C.AssemblyName, C.UsageCount, C.MaximumUsage FROM [dbo].[Sensors] as A INNER JOIN [dbo].[SensorsType] as B ON A.SensorType=B.TypeId INNER JOIN [dbo].[SensorsAnalog] AS C on A.Id = C.SensorId WHERE B.SensorType='Analog' AND A.SerialNumber=@SerialNumber END END ELSE BEGIN SELECT A.id, A.SerialNumber, C.AxisNumber, C.BridgeLegMode, C.BridgeResistance, C.BridgeType, C.Broken, C.SensitivityTolerancePercent , C.BypassFilter, C.CalibrationSignal, C.CalInterval, C.Capacity, C.CheckOffset, C.Comment, C.CouplingMode, C.Created, C.DiagnosticsMode, C.DoNotUse, C.eId, C.ExternalShuntResistance, C.FilterClass, C.InitialEU, C.InternalShuntResistance, C.Invert, C.IsoChannelName, C.IsoCode, C.LastModified, C.LocalOnly, C.Manufacturer, C.MeasurementUnit, C.Model, C.ModifiedBy, C.NumberOfAxes, C.OffsetToleranceHigh, C.OffsetToleranceLow, C.RangeAve, C.RangeHigh, C.RangeLow, C.SensorCategory, C.SensorModelId, C.Shunt, C.[Status], C.SupportedExcitation, C.TimesUsed, C.UniPolar, C.UserChannelName, C.UserCode, C.UserSerialNumber, C.UserTags, C.UserValue1, C.UserValue2, C.UserValue3, C.[Version], C.LatestCalibrationId, C.FirstUseDate, C.ACCouplingModeEnabled, C.AssemblyName, C.UsageCount, C.MaximumUsage FROM [dbo].[Sensors] as A INNER JOIN [dbo].[SensorsType] as B ON A.SensorType=B.TypeId INNER JOIN [dbo].[SensorsAnalog] AS C on A.Id = C.SensorId WHERE B.SensorType='Analog' AND A.id=@id END END