Comment faire pour utiliser une expression de table commune déclaration d'une fonction table dans SQL Server

Je viens de comprendre que certaines versions de Microsoft OLE DB Provider for SQL Server (surtout sur Windows XP) ne prennent pas en charge WITH déclaration. Donc, j'ai décidé de passer mon instruction SQL dans un tableau à une fonction, et de l'appeler à partir de mon application. Maintenant, je suis coincé. Comment dois-je utiliser le INSERT INTO déclaration avec WITH? Voici le code que j'ai pu venir jusqu'ici, mais SQL Server ne l'aime pas... 🙁

CREATE FUNCTION GetDistributionTable 
(
    @IntID int,
    @TestID int,
    @DateFrom datetime,
    @DateTo datetime
)
RETURNS 
@Table_Var TABLE 
(
    [Count] int, 
    Result float
)
AS
BEGIN
INSERT INTO @Table_Var ([Count], Result) WITH T(Result)
     AS (SELECT ROUND(Result - AVG(Result) OVER(), 1)
         FROM RawResults WHERE IntID = @IntID AND DBTestID = @TestID AND Time >= @DateFrom AND Time <= @DateTo)
SELECT COUNT(*) AS [Count],
       Result
FROM   T
GROUP  BY Result

    RETURN 
END
GO
InformationsquelleAutor iMan Biglari | 2013-02-26