CREATE PROCEDURE [dbo].[sp_SensorTestHistoryGet] @SensorTestHistoryId BIGINT = NULL, @TestHistoryId BIGINT = NULL, @SensorId INT = NULL, @SerialNumber NVARCHAR(MAX) = NULL AS BEGIN SET NOCOUNT ON; IF @SensorId IS NOT NULL BEGIN SELECT A.TestHistoryId, A.TestSetupId, A.TestSetupName, A.TestSetupDescription, A.TestId, A.Destructive, A.ArmTime, A.TestSetup, B.SensorTestHistoryId, B.SensorId, B.SerialNumber, B.Capacity, B.Range, B.CalibrationDate, B.HardwareChannelName, B.ISOChannelName, B.ISOCode, B.UserChannelName, B.UserCode, B.Sensitivity, B.FilterClass, B.IsProportional, B.LinearizationFormula, b.EID, B.MeasuredExcitation, B.MeasurementUnit, B.SamplesPerSecond, B.AAF FROM [dbo].[TestHistory] AS A INNER JOIN [dbo].[SensorTestHistory] AS B ON A.TestHistoryId=B.TestHistoryId WHERE B.SensorId=@SensorId END ELSE IF @SensorTestHistoryId IS NOT NULL BEGIN SELECT A.TestHistoryId, A.TestSetupId, A.TestSetupName, A.TestSetupDescription, A.TestId, A.Destructive, A.ArmTime, A.TestSetup, B.SensorTestHistoryId, B.SensorId, B.SerialNumber, B.Capacity, B.Range, B.CalibrationDate, B.HardwareChannelName, B.ISOChannelName, B.ISOCode, B.UserChannelName, B.UserCode, B.Sensitivity, B.FilterClass, B.IsProportional, B.LinearizationFormula, b.EID, B.MeasuredExcitation, B.MeasurementUnit, B.SamplesPerSecond, B.AAF FROM [dbo].[TestHistory] AS A INNER JOIN [dbo].[SensorTestHistory] AS B ON A.TestHistoryId=B.TestHistoryId WHERE B.SensorTestHistoryId=@SensorTestHistoryId END ELSE IF @TestHistoryId IS NOT NULL BEGIN SELECT A.TestHistoryId, A.TestSetupId, A.TestSetupName, A.TestSetupDescription, A.TestId, A.Destructive, A.ArmTime, A.TestSetup, B.SensorTestHistoryId, B.SensorId, B.SerialNumber, B.Capacity, B.Range, B.CalibrationDate, B.HardwareChannelName, B.ISOChannelName, B.ISOCode, B.UserChannelName, B.UserCode, B.Sensitivity, B.FilterClass, B.IsProportional, B.LinearizationFormula, b.EID, B.MeasuredExcitation, B.MeasurementUnit, B.SamplesPerSecond, B.AAF FROM [dbo].[TestHistory] AS A INNER JOIN [dbo].[SensorTestHistory] AS B ON A.TestHistoryId=B.TestHistoryId WHERE B.TestHistoryId=@TestHistoryId END ELSE BEGIN SELECT A.TestHistoryId, A.TestSetupId, A.TestSetupName, A.TestSetupDescription, A.TestId, A.Destructive, A.ArmTime, A.TestSetup, B.SensorTestHistoryId, B.SensorId, B.SerialNumber, B.Capacity, B.Range, B.CalibrationDate, B.HardwareChannelName, B.ISOChannelName, B.ISOCode, B.UserChannelName, B.UserCode, B.Sensitivity, B.FilterClass, B.IsProportional, B.LinearizationFormula, b.EID, B.MeasuredExcitation, B.MeasurementUnit, B.SamplesPerSecond, B.AAF FROM [dbo].[TestHistory] AS A INNER JOIN [dbo].[SensorTestHistory] AS B ON A.TestHistoryId=B.TestHistoryId WHERE B.SerialNumber=@SerialNumber END END