0

私は、SQLサーバーでストアドプロシージャと以下のコードを初めて記述しようとしています。ここで、クエリの最後に「 with rollup 」を追加すると、「 withキーワードの近くの構文が正しくありません」というエラーが表示されます

DROP PROCEDURE FIRSTPROCEDURE
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE FIRSTPROCEDURE
@startdate nchar(8), @enddate nchar(8)
AS
BEGIN
SET NOCOUNT ON;
select Date, SUM(QT1), SUM(QTY2), SUM(qTY3) FROM dbo.TABLE1
where date between @startdate and @enddate 
group by Date
order by Date
WITH ROLLUP
END
GO

そして、以下のように手順を実行しようとしました:

exec firstprocedure '20120501', '20120525'
4

1 に答える 1

2

With rollupの前に来る必要がありorder byます。それはに関連していますgroup by

select Date, SUM(QT1), SUM(QTY2), SUM(qTY3) FROM dbo.TABLE1 
where date between @startdate and @enddate  
group by Date WITH ROLLUP 
order by Date 

また、日付データ型を使用して日付を保存およびクエリすると、さまざまな問題を回避できます

于 2012-07-30T20:04:55.470 に答える