【发布时间】:2021-04-02 03:41:43
【问题描述】:
我确实有下表(只是一个示例),并且想要从 Record2 减去 Record1 的点数。 (Record2-Record1) 来自记录 1 和记录 2 的最新记录。记录输入匹配类别。 1 场比赛将包含 2 条记录,即记录 1 和记录 2。 输出将是 3,因为最新记录是来自 Match2 的 ID 3 和 4。)
| ID | Name | Points | TimeRecorded | Match |
|---|---|---|---|---|
| 1 | Record 1 | 3 | 2-Mar 2pm | 1 |
| 2 | Record 2 | 5 | 2-Mar 2pm | 1 |
| 3 | Record 1 | 5 | 4-Mar 5pm | 2 |
| 4 | Record 2 | 8 | 4-Mar 5pm | 2 |
我试图得到减去两个查询的值,如下所示。但我觉得这不是好方法,因为它是硬编码的比赛和记录的名称。我可以知道如何构造一个更好的查询以获取分组匹配的最新记录并计算从 Record2 中减去 Record1 的点数。
SELECT
(select Points from RunRecord where Name= 'Record2' AND Match = 2)
- (select Points from RunRecord where Name= 'Record1' AND Match = 2)
【问题讨论】:
-
TimeRecorded列的类型是什么?是文字吗? -
@TimBiegeleisen 它在时间戳(DateTime)中
标签: sql sql-server