0

ストアドプロシージャは「@CatergoryIDsvarchar」を受け取ります

@CatergoryIDsには、「|」で区切られた単一または複数のIDが含まれます。

私のストアドプロシージャは次のようになります:

Select R.ID,,CategoryID, (sum(C.Rating)/Count(R.ID)) as "Rating"
    from Table1  R
    left outer join Table2 C
    ON R.ID = C.ID
    GROUP BY R.ID
    having R.CategoryID = @CatergoryID
    RETURN
4

1 に答える 1

2

を使用できるはずですCHARINDEX。ただし、これは非常に非効率的であるため@CategoryID、テーブル変数として使用することをお勧めします。

SET @CatergoryID = '|'+@CatergoryID+'|';
SELECT R.ID, R.CategoryID, (SUM(C.Rating)/COUNT(R.ID)) AS Rating
    FROM Table1 AS R
    LEFT OUTER JOIN Table2 AS C
    ON R.ID = C.ID
    WHERE CHARINDEX('|'+R.CategoryID+'|', @CatergoryID)>0 
    GROUP BY R.ID, R.CategoryID
于 2012-04-22T08:42:01.570 に答える