【发布时间】:2014-01-16 08:30:33
【问题描述】:
数据
id | name | ReadingDateTime | RID | RName | Value
173 | OLİMPA | 2013-12-27 14:06:39.000 | 15 | Aktif Endeks T1 | 12414,146
173 | OLİMPA | 2013-12-30 13:43:31.000 | 15 | Aktif Endeks T1 | 12444,355
173 | OLİMPA | 2013-12-31 12:44:29.000 | 15 | Aktif Endeks T1 | 12452,486
173 | OLİMPA | 2013-12-31 15:14:27.000 | 15 | Aktif Endeks T1 | 12456,518
173 | OLİMPA | 2013-12-31 17:14:34.000 | 15 | Aktif Endeks T1 | 12459,294
...
查询
SELECT SRA2.Value-SRA.Value AS Diff, SRA.*
FROM Summary_Reading_All SRA
INNER JOIN Summary_Reading_All SRA2 ON SRA2.ReadingDateTime = SRA.ReadingDateTime
WHERE SRA.ReadingTypeId = 15
AND SRA.DeviceId = 173
ORDER BY SRA.ReadingDateTime
输出
Diff | id | name | ReadingDateTime | RID | RName | Value
0 | 173 | OLİMPA | 2013-12-27 14:06:39.000 | 15 | Aktif Endeks T1 | 12414,146
-5978,216 | 173 | OLİMPA | 2013-12-27 14:06:39.000 | 15 | Aktif Endeks T1 | 12414,146
-7807,397 | 173 | OLİMPA | 2013-12-27 14:06:39.000 | 15 | Aktif Endeks T1 | 12414,146
-12414,146 | 173 | OLİMPA | 2013-12-27 14:06:39.000 | 15 | Aktif Endeks T1 | 12414,146
11042,679 | 173 | OLİMPA | 2013-12-27 14:06:39.000 | 15 | Aktif Endeks T1 | 12414,146
-11580,143 | 173 | OLİMPA | 2013-12-27 14:06:39.000 | 15 | Aktif Endeks T1 | 12414,146
-12414,146 | 173 | OLİMPA | 2013-12-27 14:06:39.000 | 15 | Aktif Endeks T1 | 12414,146
(7 times)
Diff | 173 | OLİMPA | 2013-12-30 13:43:31.000 | 15 | Aktif Endeks T1 | 12444,355
(7 times)
Diff | 173 | OLİMPA | 2013-12-31 12:44:29.000 | 15 | Aktif Endeks T1 | 12452,486
(7 times)
Diff | 173 | OLİMPA | 2013-12-31 15:14:27.000 | 15 | Aktif Endeks T1 | 12456,518
(7 times)
Diff | 173 | OLİMPA | 2013-12-31 17:14:34.000 | 15 | Aktif Endeks T1 | 12459,294
我想加入同一张表并获得值字段的差异。当我执行上述代码时,每条记录重复 7 次。为什么记录重复 7 次,日期时间字段是唯一的。
任何建议,谢谢...
【问题讨论】:
标签: sql join sql-server-2012