TSQL - Assign value from query to variable if record exists in a single select
11,048
Solution 1
Try This :
DECLARE @tmp_variable INT
SET @tmp_variable = ISNULL(( SELECT [NUMBER]
FROM [TABLE]
WHERE [ID_RECORD] = @id_record
), 0)
Solution 2
Try this solution:
DECLARE @tmp_variable int
SET @tmp_variable = null
SELECT @tmp_variable = [NUMBER] FROM [TABLE] WHERE [ID_RECORD] = @id_record
IF @tmp_variable is not null
BEGIN
SET @other_variable = @tmp_variable
END
ELSE
BEGIN
SET @other_variable = 0
END
Author by
rgb
Updated on July 28, 2022Comments
-
rgb almost 2 years
How I can improve below code to use 'select' only once?
IF EXISTS (SELECT [NUMBER] FROM [TABLE] WHERE [ID_RECORD] = @id_record BEGIN DECLARE @tmp_variable SELECT @tmp_variable = [NUMBER] FROM [TABLE] WHERE [ID_RECORD] = @id_record SET @other_variable = @tmp_variable END ELSE BEGIN SET @other_variable = 0 END