选择列表中的列 'Project.ProjectName' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。

zhangwuji156 2012-07-27 04:33:58
一个工程表:Project
PrjGUID ProjectName

一个校对表:Prooread,标记工程在录入时候哪些行列录错了

校对表主键 状态(对错) 哪个工程 第几行 第几列
ProPK Status PrjGUID x y
1 1 AAA 10 7
2 0 AAA 1 1
3 1 BBB 1 1

Status=1,表示该行列是错误的

现在,想搜每个工程有多少个错误

select count(ProPK), Prjguid from proofread where status=1 group by prjguid

这样搜,是可以搜出来的

如:
1 AAA
1 BBB

但是,这样看,不好看,想同时能搜出工程名


1 AAA 某工程
1 BBB 乙工程

select count(ProPK), a.PrjGUID, b.projectname 
from Proofread a left join Project b on a.PrjGUID=b.PrjGUID
where status=1 group by a.PrjGUID


自己写了一个,是错的。

...全文
336 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
shoppo0505 2012-07-27
  • 打赏
  • 举报
回复
select count(ProPK), a.PrjGUID, b.projectname
from Proofread a left join Project b on a.PrjGUID=b.PrjGUID
where status=1 group by a.PrjGUID, b.projectname



oN5GrzoN 2012-07-27
  • 打赏
  • 举报
回复
select ErrorCount, c.PrjGUID, b.projectname from
(select count(ProPK) ErrorCount, a.PrjGUID
from Proofread a
where status=1 group by a.PrjGUID) as c
left join Project b on c.PrjGUID=b.PrjGUID
快溜 2012-07-27
  • 打赏
  • 举报
回复
select count(ProPK), a.PrjGUID, b.projectname
from Proofread a left join Project b on a.PrjGUID=b.PrjGUID
where status=1 group by a.PrjGUID,b.projectname

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧