TSQL – 如果记录存在于单个选择中,则将查询中的值分配给变量

我如何改进以下代码只使用一次“选择”?
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

解决方法

试试这个 :
DECLARE @tmp_variable INT
 SET @tmp_variable = ISNULL(( SELECT    [NUMBER]
                              FROM      [TABLE]
                              WHERE     [ID_RECORD] = @id_record
                             ),0)

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...