ALTER PROCEDURE GetProducts
@CategoryID INT
AS
SELECT COUNT(tblReview.GroupID) AS ReviewCount,
COUNT(tblComment.GroupID) AS CommentCount,
Product.GroupID,
MAX(Product.ProductID) AS ProductID,
AVG(Product.Price) AS Price,
MAX (Product.Year) AS Year,
MAX (Product.Name) AS Name,
AVG(tblReview.Grade) AS Grade
FROM tblReview, tblComment, Product
WHERE (Product.CategoryID = @CategoryID)
GROUP BY Product.GroupID
HAVING COUNT(distinct Product.GroupID) = 1
Это то, что выглядеть рабочих таблиц:проблема Количество в SQL, когда я хочу результаты diffrent
**Product** |**tblReview** | **tblComment**
ProductID | ReviewID | CommentID
Name | Description | Description
Year | GroupID | GroupID
Price | Grade |
GroupID
GroupID является name_year продукта, экс Nike_2010. Один продукта может имеют различные размеры для Примера:
ProductID | Name | Year | Price | Size | GroupID
1 | Nike | 2010 | 50 | 8 | Nike_2010
2 | Nike | 2010 | 50 | 9 | Nike_2010
3 | Nike | 2010 | 50 | 10 | Nike_2010
4 | Adidas| 2009 | 45 | 8 | Adidas_2009
5 | Adidas| 2009 | 45 | 9 | Adidas_2009
6 | Adidas| 2009 | 45 | 10 | Adidas_2009
я не получаю правильный счет в моем tblReview и tblComment. Если я добавлю обзор в Nike size 8, и добавлю один обзор в Nike size 10, я хочу получить 2 результата подсчета, когда я перечисляю продукты с различным GroupID. Теперь я получаю тот же счет на Обзоры и комментарии, и оба ошибаются.
Я использую DataList, чтобы показать все продукты с diffrent/уникальным GroupID, я хочу, чтобы это было так:
______________
| |
| Name: Nike |
| Year: 2010 |
| (All Sizes) |
| x Reviews |
| x Comments |
| x AVG Grade |
|______________|
Все Reviewcounts, Commentcounts и среднее значение всех продуктов с тем же GroupID, тем Средняя работает отлично.
Спасибо большое! Прекрасно работает! – Nicklas