[英]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.