从2个表创建SSRS报告

时间:2017-11-02 12:54:42

标签: sql sql-server reporting-services

我在sql server数据库中有两个表。 这是我的第一个表,Table1

 +------------+------------------+----------------+
| Project ID | Project Manager  | Approved Hours |
+------------+------------------+----------------+
|          1 |             Mr.A |            120 |
|          2 |             Mr.B |            100 |
+------------+------------------+----------------+

这是我的第二张表,表2

+-----------+-----------------+-----------+----------+---------------+
| ProjectID | Project Manager | Personnel | Week No. | Working Hours |
+-----------+-----------------+-----------+----------+---------------+
|         1 | Mr.A            | Tom       |        1 |            20 |
|         1 | Mr.A            | Tom       |        2 |            20 |
|         1 | Mr.A            | Tom       |        3 |            10 |
|         1 | Mr.A            | Harry     |        1 |            20 |
|         1 | Mr.A            | Harry     |        2 |            20 |
|         1 | Mr.A            | Harry     |        3 |            20 |
|         2 | Mr.B            | Tom       |        1 |            20 |
|         2 | Mr.B            | Tom       |        2 |            10 |
|         2 | Mr.B            | Tom       |        3 |            20 |
|         2 | Mr.B            | Harry     |        1 |            20 |
|         2 | Mr.B            | Harry     |        2 |            15 |
+-----------+-----------------+-----------+----------+---------------+

我想创建一个类似于此的ssrs报告。我正在使用2012版本。 实际小时数是每个项目的工作时间总和。

 +------------+-----------------+----------------+--------------+
| Project ID | Project Manager | Approved Hours | Actual Hours |
+------------+-----------------+----------------+--------------+
|          1 | Mr.A            |            120 |          110 |
|          2 | Mr.B            |            100 |           85 |
+------------+-----------------+----------------+--------------+

我是SQL的新手,我可以通过一次查询完成这项工作。

1 个答案:

答案 0 :(得分:2)

正如@jarlh建议只需做INNER JOIN& group by如下:

SELECT T.[Project ID],
       T.[Project Manager],
       T.[Approved Hours],
       SUM(T1.[Working Hours]) [Actual Hours]
FROM Table1 T
     INNER JOIN Table2 T1 ON T.[Project ID] = T1.[Project ID]
GROUP BY T.[Project ID],
         T.[Project Manager],
         T.[Approved Hours];

结果:

+------------+-----------------+----------------+--------------+
| Project ID | Project Manager | Approved Hours | Actual Hours |
+------------+-----------------+----------------+--------------+
|          1 | Mr.A            |            120 |          110 |
|          2 | Mr.B            |            100 |           85 |
+------------+-----------------+----------------+--------------+