sql
表一:
员工 钱 级别
01 100 1.0销售
02 100 6.0销售
03 100 1.0经理
04 100 3.0销售
05 100 4.0经理
06 100 5.0经理
07 100 7.0销售
08 100 2.0经理
表二 :
员工 员工上级 是否直属
01 03 是
02 01 是
03 03 否
04 02 是
05 06 是
06 06 否
07 05 是
08 05 是
比方说把 07和08是同一个上级汇总到05+05本身的钱这个为一个整体再加到06+06本身的钱
sql 怎么叠加
答案:3 悬赏:70 手机版
解决时间 2021-04-07 08:43
- 提问者网友:了了无期
- 2021-04-06 15:01
最佳答案
- 五星知识达人网友:醉吻情书
- 2021-04-06 16:06
你这个表结构实现不了你的要求
员工应该分级,然后根据级次顺序写SQl语句进行数据累加合并
如果你的“级别”是顺序的,那么按照销售1~7、经理1~4要写出10条SQl语句顺序执行,才能满足累积的要求
随便给你写个大概
update 表一 a set 钱 = 钱 + (select sum(钱) from 表一,表二 where 表一.员工 = 表二.员工 and 表一.员工 = 表二.上级) b
where a.员工 = b.员工 and a.级别 = '2.0销售'
后面调整级别,别的不用变
语句未必能用,大概是这个意思
员工应该分级,然后根据级次顺序写SQl语句进行数据累加合并
如果你的“级别”是顺序的,那么按照销售1~7、经理1~4要写出10条SQl语句顺序执行,才能满足累积的要求
随便给你写个大概
update 表一 a set 钱 = 钱 + (select sum(钱) from 表一,表二 where 表一.员工 = 表二.员工 and 表一.员工 = 表二.上级) b
where a.员工 = b.员工 and a.级别 = '2.0销售'
后面调整级别,别的不用变
语句未必能用,大概是这个意思
全部回答
- 1楼网友:野慌
- 2021-04-06 18:48
哎, select * 用 group by 的时候 ,group by 后面要加 所有的字段 除了 sum max min 等
如 select max(pid), p_sort,p_sydanwei from admin_product
where ,,,,,, group by p_sort,p_sydanwei
- 2楼网友:封刀令
- 2021-04-06 17:30
表述的内容不是数据库里的表结构, 你说的一个项目产品,也许本身就是由多张表组合的结果,还有投资信息,也许是更多张表的组织.应该由多个查询结果在程序界面上的显示.
没有表结构,叫别人怎么写查询句?
如果只是简单的联合,我可以这样帮你考虑.
比如
select * from 投资信息 where id in (select 投资ID from 投资信息 where 投资人=我)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯