comment obtenir le comte dans sql server lors de l'utilisation des jointures internes?

J'ai requête suivante:

SELECT  
   h.helpcontent, s.MenuID, s.pkSitePageId, s.PageAliasName,
   s.SitePageName,s.pagepath
FROM 
   tblSiteRolePermissions p
INNER JOIN 
   tblSitePages s ON p.fkSitePageId = s.pkSitePageId
INNER JOIN 
   tblHelp h ON s.pkSitePageId=h.fkSitePageId
WHERE 
   (p.fkRoleId = 4 AND p.ViewOnly = 1) 
ORDER BY 
   s.pkSitePageId

Je veux obtenir le comte de tblSiteRolePermissions. J'ai essayé le Count mais son jetant un message d'erreur tel que:

Msg 8120, Niveau 16, État 1, Ligne 1

La colonne " tblHelp.HelpContent' est pas valide dans la liste de sélection, car il n'est pas contenue dans une fonction d'agrégation ou de la clause GROUP BY.

S'il vous plaît aidez-moi et laissez-moi savoir où je me trompe.

Mise à jour

Voici le code que j'essaie:

SELECT 
    count(p.pkRolePermissionId), 
    h.helpcontent, s.MenuID, s.pkSitePageId, s.PageAliasName, 
    s.SitePageName, s.pagepath
FROM
    tblSiteRolePermissions p
INNER JOIN 
    tblSitePages s ON p.fkSitePageId = s.pkSitePageId
INNER JOIN
    tblHelp h ON s.pkSitePageId = h.fkSitePageId
WHERE 
    (p.fkRoleId = 4 AND p.ViewOnly = 1) 
ORDER BY 
    s.pkSitePageId
  • Qu'essayez-vous compter?
  • veuillez consulter ma question j'ai mis à jour..
  • Le message d'erreur ne correspond pas à votre échantillon instruction SQL. Il n'est ni un count() (ou toute autre fonction d'agrégation), ni un group by dans votre déclaration. Merci de nous montrer le véritable déclaration qui produit l'erreur.
  • veuillez consulter maintenant
  • Voulez-vous obtenir le nombre de tous les lignes, ou le nombre de pièces pour un seul fkSitePageId? Ou pour toute autre combinaison de ces attributs?
  • non, je veux obtenir toutes les lignes du comte

InformationsquelleAutor Ram | 2012-11-15