Utilisation du résultat SELECT dans un autre SELECT

Voici donc ma requête

SELECT 
    * 
FROM 
    Score  AS NewScores 
WHERE 
    InsertedDate >= DATEADD(mm, -3, GETDATE());


SELECT 
    ROW_NUMBER() OVER( ORDER BY NETT) AS Rank, 
    Name, 
    FlagImg, 
    Nett, 
    Rounds 
FROM (
    SELECT 
        Members.FirstName + ' ' + Members.LastName AS Name, 
        CASE 
            WHEN MenuCountry.ImgURL IS NULL THEN 
                '~/images/flags/ismygolf.png' 
            ELSE 
                MenuCountry.ImgURL 
        END AS FlagImg, 
        AVG(CAST(NewScores.NetScore AS DECIMAL(18, 4))) AS Nett, 
        COUNT(Score.ScoreID) AS Rounds 
    FROM 
        Members 
        INNER JOIN 
        Score 
            ON Members.MemberID = Score.MemberID 
        LEFT OUTER JOIN MenuCountry 
            ON Members.Country = MenuCountry.ID 
    WHERE 
        Members.Status = 1 
    GROUP BY 
        Members.FirstName + ' ' + Members.LastName, 
        MenuCountry.ImgURL
    ) AS Dertbl 
ORDER BY;

La requête est de donner un ensemble de résultats pour un GridView en fonction du classement et ce que je veux, c'est seulement d'obtenir la moyenne des Scores qui sont de moins de 3 mois. J'ai cela en 2 parties comme vous pouvez le voir et, évidemment, il donne une erreur de ce genre.

Msg 4104, Niveau 16, État 1, Ligne 2

La partie multi-identificateur "NewScores.NetScore" ne pouvait pas être lié.

Qui est en raison de cette AVG(CAST(NewScores.NetScore AS DECIMAL(18, 4))) AS Nett

Comment puis-je faire afin que je puisse utiliser NewScoresdonc je suis le seul à obtenir la moyenne des scores de moins de 3 mois?

EDIT: en Utilisant les réponses que les gens autant que je l'ai résolu en utilisant une jointure dans le bon endroit et voici la requête appropriée:

SELECT ROW_NUMBER() OVER(ORDER BY NETT) AS Rank, Name, FlagImg, Nett, Rounds FROM (SELECT Members.FirstName + ' ' + Members.LastName AS Name, CASE WHEN MenuCountry.ImgURL IS NULL THEN '~/images/flags/ismygolf.png' ELSE MenuCountry.ImgURL END AS FlagImg, AVG(CAST(NewScores.NetScore AS DECIMAL(18, 4))) AS Nett, COUNT(NewScores.ScoreID) AS Rounds FROM Members INNER JOIN (SELECT * FROM Score WHERE InsertedDate >= DATEADD(mm, -5, GETDATE())) NewScores ON Members.MemberID = NewScores.MemberID LEFT OUTER JOIN MenuCountry ON Members.Country = MenuCountry.ID WHERE Members.Status = 1 GROUP BY Members.FirstName + ' ' + Members.LastName, MenuCountry.ImgURL) AS Dertbl ORDER BY Nett ASC

source d'informationauteur Pandepic