0

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
4

1 に答える 1