【发布时间】:2012-11-03 22:21:30
【问题描述】:
我有以下查询:
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
我想从tblSiteRolePermissions 获得计数。我已经尝试过Count,但它抛出了一些错误,例如:
消息 8120,第 16 层,状态 1,第 1 行
列 'tblHelp.HelpContent' 在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中。
请帮助我,让我知道我错在哪里。
更新
这是我正在尝试的代码:
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
【问题讨论】:
-
你要数什么?
-
@PaulAlanTaylor 请查看我的问题,我已经更新了它..
-
错误信息与您的示例 SQL 语句不匹配。您的语句中既没有
count()(或任何其他聚合函数)也没有group by。请向我们展示产生错误的真实陈述。 -
@a_horse_with_no_name 请立即查看
-
您想获取 all 行的计数,还是仅获取单个 fkSitePageId 的计数?还是其他一些属性组合?
标签: sql-server count row inner-join