我有一个带有以下内容的SQL:
DECLARE @AssociadoID int
WITH BaseQuery AS
(
SELECT
ValorPago,
YEAR(Data) AS OrderYear,
MONTH(Data) AS OrderMonth
FROM
T_Eventos
WHERE
([AssociadoID] = @AssociadoID)
)
SELECT
OrderYear,
[1] AS [January],
[2] AS [February],
[3] AS [March],
[4] AS [April],
[5] AS [May],
[6] AS [June],
[7] AS [July],
[8] AS [August],
[9] AS [September],
[10] AS [October],
[11] AS [November],
[12] AS [December]
FROM
BaseQuery
PIVOT
(SUM(ValorPago) FOR OrderMonth IN ([1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12])) AS PVT
ORDER BY
January DESC
关于此查询,如果我删除DECLARE @AssociadoID
,IDE Visual Studio将返回空查询,甚至是内容行。但是,如果我从查询构建中删除,则说我必须声明标量变量。
我对此块的目的只是为了显示来自人员的数据已登录系统
我应该怎么做才能解决这个问题??
答案 0 :(得分:0)
我找到了一个解决方案: 只需在第一个选择结束时,只需添加参数:
SELECT ValorPago, YEAR(Data) AS OrderYear,
MONTH(Data) AS OrderMonth
FROM T_Eventos Where AssociadoID = @AssociadoID
没有必要在开始
上放置DECLARE @AssociadoID Int在此之后,只需将SelectParameter设置为:)