Concaténation de lignes à partir d'une colonne calculée par alias

J'ai deux tables, l'une nommée Car et l'autre nommée Mileage. La table de voiture a la colonne suivante:
CarName varchar(max)
La table de kilométrage contient les colonnes suivantes:
CarMileage int CarName varchar(max) TotalGasTrips int

Mon code est le suivant:

 SELECT DISTINCT y.CarName, Subssortingng((SELECT ', ' + Cast(c.MPG AS VARCHAR(max)) FROM Mileage JOIN Car ON Mileage.CarName = Car.CarName WHERE Mileage.CarName = Car.CarName FOR xml path ('')), 2, 1000) AS MPGSsortingng FROM Car y INNER JOIN (SELECT w.CarName, CarMileage / TotalGasTrips AS MPG FROM Mileage w GROUP BY w.CarName, w.CarMileage, w.TotalGasTrips)c ON y.CarName = c.CarName GROUP BY c.MPG, y.CarName 

Le résultat de la requête est:

 CarName MPGSsortingng Acura NSX 20,20,20,20 Acura NSX 42,42,42,42 Pagani Zonda 24,24,24,24 Pagani Zonda 43,43,43,43 

Le résultat que je veux est:

 CarName MPGSsortingng Acura NSX 20,42 Pagani Zonda 24,43 

Est-il possible d'get les lignes concaténées correctes que je veux des colonnes calculées aliasées? J'ai essayé de chercher partout et tout ce que j'ai trouvé était la concaténation de colonnes qui avaient déjà des valeurs existantes et non des colonnes calculées. Merci de votre aide.

Modifier:
Les deux tables ont les mêmes noms de voiture (dans ce cas, Acura NSX et Pagani Zonda) .Pour tester la concaténation de strings, j'ai donné deux numéros différents pour TripGasTrips et CarMileage. Un exemple est le suivant dans le tableau Kilométrage:
Acura NSX 125471,6172 Acura NSX 213776,5000 Pagani Zonda 166793, 6911 Pagani Zonda 315531 7312

avec les colonnes étant CarName, CarMileage et TotalGasTrips respectivement et dans le tableau de voiture j'ai ce qui suit:
Acura NSX Pagani Zonda
CarName étant la seule colonne de la table.
Modifier:
La sortie de la table c est la suivante:

CarName MPG Acura NSX 20 Acura NSX 42 Pagani Zonda 24 Pagani Zonda 43

Cela fonctionne pour moi (ce serait plus facile si vous donniez des données à tester avec):

 SELECT C.CarName, SUBSTRING(( SELECT ', ' + CAST(CarMileage / TotalGasTrips AS VARCHAR(MAX)) FROM Mileage WHERE Mileage.CarName = C.CarName GROUP BY dbo.Mileage.CarMileage, dbo.Mileage.TotalGasTrips FOR XML PATH('') ), 2, 1000) AS MPGSsortingng FROM Car C JOIN dbo.Mileage M ON C.CarName = M.CarName GROUP BY C.CarName