请大家帮看下如何编写sql语句

来源:百度知道 编辑:UC知道 时间:2024/06/23 14:32:41
SELECT sum(a.peoplecount),a.total,u.name,u.deptid,d.id,d.deptname
FROM allowance a,users u,dept d
where
u.id=a.userid and u.deptid=d.id
and u.id=14 or u.id=19
group by d.deptname
我写这个语句的意思是 查找allowance 表中peoplecount字段在以users表里面u.deptId分组的情况下,求和.但是我这个求和,求出来的好像是把所有所有dept列出来,然后再求和,这样数据求和保证是错误请大家帮我看看我该如何修改.表的关系是
allowance 表里面有 userid
users表里面有 deptid
恩,这个deptname是我后改的开始是deptid。我说的还不够明白么?我是想
查找allowance 表中peoplecount字段在并且关联users表,和dept表,以u.deptId分组的情况下,peoplecount字段求和.但是我这个求和结果不对。我这样写可能造成数组的重复累加。

不知道你的userid和deptid有什么关系,不过我觉得既然采用以deptid分组,就可能显示不出每个users.name了。
select u.deptid,sum(a.peoplecount) as pcount from allowance a inner join users u on a.userid=u.id inner join deptname d on u.deptid=d.id where u.id in (14,19) group by u.depid

你把需求写清楚点,半天楞是没看懂...

既然是
“以users表里面u.deptId分组的情况下,求和”
group by 后应跟u.deptid呀