首页 > 解决方案 > SQL - 带大小写的多项选择

问题描述

+--------+---------+----------+----------+-------+------------+------------+
| F Name | L Name  | Event ID | Group ID | Hours | Event Type | Event Name |
+--------+---------+----------+----------+-------+------------+------------+
| Bill   | Johnson |        1 |          | 3     | Event      | Indirect   |
| Janet  | Jackson |          |        1 | 1     | Group      |            |
| Bill   | Johnson |          |        1 | 1     | Group      |            |
| Chris  | Margot  |        2 |          | 1.5   | Event      | Direct     |
| Janet  | Jackson |          |        1 | 1     | Group      |            |
+--------+---------+----------+----------+-------+------------+------------+

我有一张这样的桌子。如果事件类型不是组和直接的,我需要计算小时列的总和。

然后,如果事件类型是组,我需要计算小时数,但每个组 id 每人只需要一次。(所以珍妮特的小组有 1 小时而不是 2 小时,因为他们有相同的小组 ID。我得到了意想不到的结果。

我知道这将涉及自我加入。该表在查询的 FROM 部分中称为 public.event_by_wkr event_by_wkr。我认为这相当困难,但可能并非如此。如果您需要更多信息,我会提供。

标签: sql

解决方案


推荐阅读