我的问题陷入了困境。
我有一个包含某个项目的表,首先我要检查我的所有项目是否都在我的表中并将结果存储在变量中
所以我有类似的东西:
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
);