添加SQL中重复记录的值并显示在报表中

Add the values of duplicate record in SQL and display it in a report

我正在使用 Microsoft Report Builder 来构建我的报告。我还有一个 SQL 服务器数据库。

我有以下table。请 运行 代码片段以直观地表示我的 SQL table。

<table style="border:1px solid black;">
  <tr>
    <th>
      Name
    </th>
    <th>
      Timesheet
    </th>
  </tr>
  <tr>
    <td align="center">
      Jacob
    </td>
    <td align="center">
      2
    </td>
  </tr>
  <tr>
    <td align="center">
      Jacob
    </td>
    <td align="center">
      3
    </td>
  </tr>
  <tr>
    <td align="center">
      John
    </td>
    <td align="center">
      1
    </td>
  </tr>
</table>

我想要的是将timesheets列中重复记录的所有值相加,并在timesheet列中显示结果,名称列在name列中。不应显示重复记录。

请 运行 下面的代码片段,以直观地表示我希望 table 基于之前的 table

的样子

<table style="border:1px solid black;">
  <tr>
    <th>
      Name
    </th>
    <th>
      Timesheet
    </th>
  </tr>
  <tr>
    <td align="center">
      Jacob
    </td>
    <td align="center">
      5
    </td>
  </tr>
  <tr>
    <td align="center">
      John
    </td>
    <td align="center">
      1
    </td>
  </tr>
 </table>

我基本上希望将重复记录的时间表列加在一起。 有没有可能我可以在报表生成器中执行此操作,这样会比 SQL 服务器更容易?

基于以上问题,也许你想要这样,请检查这个例子。

SQL Query

DECLARE @EMP TABLE
(
    Name VARCHAR(50),
    Timesheet INT
);
INSERT INTO @EMP VALUES('Jacob',2),('Jacob',3),('John',1)

SELECT * FROM @EMP

SELECT Name,SUM(Timesheet) AS Timesheet
FROM @EMP
GROUP BY Name

Output