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
C'est ce que les tabels ressemblent:problème de comptage dans SQL quand je veux des résultats de tabels diffrent
**Product** |**tblReview** | **tblComment**
ProductID | ReviewID | CommentID
Name | Description | Description
Year | GroupID | GroupID
Price | Grade |
GroupID
GroupID est name_year d'un produit, ex Nike_2010. Un produit peut avoir des tailles diffrent pour exampel:
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
Je n'obtenir le nombre droit dans mon tblReview et tblComment. Si j'ajoute une critique à Nike taille 8 et j'ajoute un avis à Nike taille 10 Je veux 2 résultats de compte quand j'énumère les produits avec différents GroupID. Maintenant, je reçois le même nombre de critiques et de commentaires et les deux sont faux.
J'utilise un datalist pour afficher tous les produits avec diffrent/GroupID unique, je veux que ce soit comme ceci:
______________
| |
| Name: Nike |
| Year: 2010 |
| (All Sizes) |
| x Reviews |
| x Comments |
| x AVG Grade |
|______________|
Tous les Reviewcounts, Commentcounts et la moyenne de tous les produits avec le même GroupID, la La moyenne fonctionne très bien.
Merci beaucoup! Fonctionne très bien! – Nicklas