SQL を使用するプロジェクトに放り込まれたところです..このストアド プロシージャはテーブルを使用しています..テーブルを使用しないように変換しようとしています...しかし、私は SQL に慣れていないので、問題があります..誰かが助けてくれますか、それとも私を案内してくれますか? またはそのようなことは不可能ですか?
このストアド プロシージャを EDML にドラッグすると、テーブルを使用しているため機能しないため、SQL で LINQ/Entity Framework を使用できるように、この方法で変換しようとしています。
ALTER PROCEDURE [dbo].[GetGame_Passer]
-- Add the parameters for the stored procedure here
@GameDate varchar(8),
@TricodeHome varchar(3)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
CREATE TABLE #Passer(
GameKey int,
PlayerName varchar(50),
Tricode varchar(3),
StatString varchar(50),
Position varchar(20),
FantasyScore int
)
DECLARE @gameKey int
SET @gameKey = (SELECT GameKey FROM Games WHERE GameDate=@GameDate
AND TricodeHome=@TricodeHome)
INSERT #Passer
SELECT TOP 1 p.GameKey, p.PlayerName, p.Tricode, p.StatString, p.Position,
(p.Yards/25 + p.Touchdowns * 6 - p.Interceptions * 2) AS FantasyScore
FROM GamePassers AS p
WHERE p.GameKey=@gameKey
ORDER BY FantasyScore DESC, p.Yards DESC
SELECT g.*, p.PlayerName AS PasserName, p.Tricode AS PasserTricode,
p.StatString AS PasserStat, p.Position AS PasserPosition
FROM Games AS g LEFT OUTER JOIN #Passer AS p ON
g.GameKey=p.GameKey
WHERE g.GameDate=@GameDate AND
g.TricodeHome=@TricodeHome
SELECT TOP 2 p.GameKey, p.PlayerName, p.Tricode, p.StatString, p.Position
FROM GamePassers AS p
WHERE p.GameKey=@gameKey
ORDER BY p.Yards DESC
DROP TABLE #Passer
END