次の SQL Server ストアド プロシージャを実行しようとしていますが、実行できません。プロシージャ クエリは次のとおりです。
ALTER PROCEDURE [dbo].[get_StockNavigationReportData]
@startDate VARCHAR(200),
@endDate VARCHAR(200),
@groupBy VARCHAR(200)
AS
BEGIN
SELECT M.VRNOA, M.VRDATE 'DATE', M.REMARKS, D.qty 'QTY', g2.name 'Godown_2', g.name 'Godown_1'
FROM
Stockmain M, StockDetail D, GODOWN G, (
SELECT * FROM GODOWN
) AS g2
WHERE
M.Etype='navigation'
AND M.STID = D.STID
AND D.GODOWN_ID = G.GODOWN_ID
AND g2.godown_id = D.GODOWN_ID2
AND VRDATE BETWEEN CONVERT(VARCHAR, CAST(@startDate AS DATETIME),101)
AND CONVERT(VARCHAR, CAST(@endDate AS DATETIME), 101)
ORDER BY
@groupBy ASC
END
そして、私が得るエラーは次のとおりです。
メッセージ 1008、レベル 16、状態 1、手順 get_StockNavigationReportData、行 25
ORDER BY 番号 1 で識別される SELECT 項目には、列の位置を識別する式の一部として変数が含まれています。変数は、列名を参照する式で順序付けする場合にのみ許可されます。
誰でも見て、私がここで間違っていることを教えてもらえますか+どうすればこれを機能させることができますか?