我正在创建一个临时表。这是附加到一个更大的查询,但我不能显示它,所以这是一个演示。我把这个放到一个临时表中,这样计算出来的日期对临时表中的乐观者来说会更好-
DECLARE @CurrentDate datetime
SET @CurrentDate = getdate()
CREATE TABLE #Test
(
[Date] datetime,
[Id] uniqueidentifier
);
INSERT INTO #Test
SELECT MAX(l.[Date]) AS [Date],
l.[Id] AS [Id]
FROM [Table1] AS [l]
WHERE l.[Date] <= @CurrentDate
GROUP BY l.[Id]
SELECT * FROM #Test
但是,我得到了错误,
'必须声明标量变量“@CurrentDate”。'
什么是让这个工作的最好方法?是在insert-select语句中声明变量的唯一方法吗?谢谢
类似于:
DECLARE @CurrentDate datetime
SET @CurrentDate = getdate()
CREATE TABLE #Test
(
[Date] datetime,
[Id] uniqueidentifier
);
INSERT INTO #Test
DECLARE @CurrentDate datetime
SET @CurrentDate = getdate()
SELECT MAX(l.[Date]) AS [Date],
l.[Id] AS [Id]
FROM [Table1] AS [l]
WHERE l.[Date] <= @CurrentDate
GROUP BY l.[Id]
SELECT * FROM #Test