繁体   English   中英

SQL Server:具有EXCEPT的变量

[英]SQL Server : variable with EXCEPT

我在查询中陷入了困境。

我有一个包含某些项目的表,首先我要检查我所有的项目是否都在表中,并将结果存储在变量中

所以我有这样的事情:

  SELECT [ProjectID]
  FROM [DB].[dbo].[Project]
  EXCEPT
  SELECT [ProjecID]
  FROM  [DB].[dbo].[CurrentProject]
  WHERE ResourceId = (SELECT ResourceId
                      FROM [DB].[dbo].[Timesheets]
                      WHERE @TimesheetUID = TimesheetId)

如果我尝试使用

DECLARE @STOREVAR UNIQUEIDENTIFIER

@STOREVAR = SELECT [ProjectID]
            FROM [DB].[dbo].[Project]
            EXCEPT
            SELECT [ProjecID]
            FROM [DB].[dbo].[CurrentProject]
            WHERE ResourceId = (SELECT ResourceId
                                FROM [DB].[dbo].[Timesheets]
                                WHERE @TimesheetUID = TimesheetId)

我需要存储在变量中,因为在那之后,我必须使用@storevar进行IF处理

它不起作用,您是否知道我该怎么做?

您需要使用表变量:

DECLARE @STOREVAR TABLE ( [ProjectID]  UNIQUEIDENTIFIER)

INSERT INTO @STOREVAR ([ProjectID])
       SELECT [ProjectID]
       FROM [DB].[dbo].[Project]
       EXCEPT
       SELECT [ProjecID]
       FROM  [DB].[dbo].[CurrentProject]
       WHERE ResourceId = (SELECT ResourceId
                           FROM [DB].[dbo].[Timesheets]
                           WHERE @TimesheetUID=TimesheetId
                          );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM