Sql:只显示每行变化的数据
Sql: display just the changed data in each row
我想知道如何在 Access(sql 或报告)或 SQL SERVER 中获得如下结果?
--------------------------------------------------------------
| ID | Name | Job | Date | Hobby |
--------------------------------------------------------------
| 1 | Alex | carpenter | 12/02/2006 | basketball |
| 1 | | | | baseball |
| 2 | Lara | dancer | 06/07/2015 | running |
| 2 | | | | cooking |
| 2 | | | | swimming |
--------------------------------------------------------------
我执行查询后得到的结果例如:
--------------------------------------------------------------
| ID | Name | Job | Date | Hobby |
--------------------------------------------------------------
| 1 | Alex | carpenter | 12/02/2006 | basketball |
| 1 | Alex | carpenter | 12/02/2006 | baseball |
| 2 | Lara | dancer | 06/07/2015 | running |
| 2 | Lara | dancer | 06/07/2015 | cooking |
| 2 | Lara | dancer | 06/07/2015 | swimming |
--------------------------------------------------------------
这里的想法是始终保持第一行不变,但具有相同 ID 的后续行应该只包含 ID 和更改的数据,如上例所示。
这里的查询不是很重要,因为我只是想有一个特定的结果显示。
非常感谢!
根据您的问题,您似乎正试图删除 'Name'、'Job' 和 'Date' 字段的重复行,并让它们仅显示在每个组合。
为此,您可以尝试以下操作:
- 将您的数据存储在临时文件中table
- 应用 partition by 子句查找每个组合(名称、工作、日期字段)的排名,并将其添加为临时 table
中的附加列
- 更新临时 table 以清空排名值 > 1 的姓名、工作、日期字段,以及 select 您需要的列。这应该使您的 table 看起来像您提到的
我想知道如何在 Access(sql 或报告)或 SQL SERVER 中获得如下结果?
--------------------------------------------------------------
| ID | Name | Job | Date | Hobby |
--------------------------------------------------------------
| 1 | Alex | carpenter | 12/02/2006 | basketball |
| 1 | | | | baseball |
| 2 | Lara | dancer | 06/07/2015 | running |
| 2 | | | | cooking |
| 2 | | | | swimming |
--------------------------------------------------------------
我执行查询后得到的结果例如:
--------------------------------------------------------------
| ID | Name | Job | Date | Hobby |
--------------------------------------------------------------
| 1 | Alex | carpenter | 12/02/2006 | basketball |
| 1 | Alex | carpenter | 12/02/2006 | baseball |
| 2 | Lara | dancer | 06/07/2015 | running |
| 2 | Lara | dancer | 06/07/2015 | cooking |
| 2 | Lara | dancer | 06/07/2015 | swimming |
--------------------------------------------------------------
这里的想法是始终保持第一行不变,但具有相同 ID 的后续行应该只包含 ID 和更改的数据,如上例所示。
这里的查询不是很重要,因为我只是想有一个特定的结果显示。
非常感谢!
根据您的问题,您似乎正试图删除 'Name'、'Job' 和 'Date' 字段的重复行,并让它们仅显示在每个组合。
为此,您可以尝试以下操作:
- 将您的数据存储在临时文件中table
- 应用 partition by 子句查找每个组合(名称、工作、日期字段)的排名,并将其添加为临时 table 中的附加列
- 更新临时 table 以清空排名值 > 1 的姓名、工作、日期字段,以及 select 您需要的列。这应该使您的 table 看起来像您提到的