【发布时间】:2017-11-28 06:14:00
【问题描述】:
如果我想获取每个经理(包括他的团队)的总项目和总收入,SQL 查询脚本会是什么?
假设我有这张表items_revenue 的列:
| id |is_manager|manager_id| name |no_of_items| revenue |
| 1 | 1 | 0 | Manager1 | 621 | 833 |
| 2 | 1 | 0 | Manager2 | 458 | 627 |
| 3 | 1 | 0 | Manager3 | 872 | 1027 |
...
| 8 | 0 | 1 | Member1 | 1258 | 1582 |
| 9 | 0 | 2 | Member2 | 5340 | 8827 |
| 10 | 0 | 3 | Member3 | 3259 | 5124 |
所有经理及其各自的成员都在上面的视图表中。 Member1 在 Manager1 下,Member2 在 Manager2 下,依此类推,但真实数据是随机排列的。我还有一个带有managers 的视图表,我只过滤了经理。我尝试使用以下查询获取每位团队经理的总数:SELECT id, is_manager, manager_id, name, SUM(no_of_items) AS total_items, SUM(revenue) AS total_revenue
FROM items_revenue t
WHERE (SELECT m.id FROM managers m WHERE m.id = t.id)
GROUP BY id HAVING id IN (SELECT m.id FROM managers m);
但是,它只返回每个经理单独的总数,它不获取其成员的总数。
我希望我的查询输出 ff。表:| id |is_manager|manager_id| name |total_items| total_revenue |
| 1 | 1 | 0 | Manager1 | 1879 | 2415 |
| 2 | 1 | 0 | Manager2 | 5798 | 9454 |
| 3 | 1 | 0 | Manager3 | 4131 | 6151 |
任何想法如何得到这个?任何帮助将不胜感激。谢谢!
【问题讨论】:
-
如果您有一个小的后续问题,请使用新数据编辑我的演示并将链接粘贴到此处。否则打开一个新问题。
标签: mysql sql sql-server categorical-data