【发布时间】:2017-03-13 18:36:05
【问题描述】:
我有一个记录每月条目的 SQL 表。
条目是 .csv 文本文件的内容。
内容具有重复的多个字段,因此主键是一个复合键,包括名称 (varchar)、说明 (varchar) 和 ReportRan (日期时间)。 记录文件后,它看起来像:
Name | Description | ReportRan
comp1 | some data | 2017-01-01
comp1 | more data | 2017-01-01
comp1 | even more | 2017-01-01
comp1 | s0me data | 2017-02-01
comp1 | more data | 2017-02-01
comp1 | new data | 2017-02-01
我需要获取 1 月份而不是 2 月份的行。 (第 3 行)
2 月份的行不在 1 月份。 (第6行)
并且在月份之间具有字段更改的行。 (第4行)
【问题讨论】:
-
PK = 名称 + 描述 + 日期?
-
如何区分“1 月份而不是 2 月份的行”和“月份之间字段发生变化的行”?如果值不同,则根据您对主键的定义,行不同。
-
@McNets 是的,主键是复合键。还有更多字段,但它们不相关并且经常重复。
-
@bbrumm 第一个我想知道报告是否在一月份有条目,但在二月份的报告中没有条目。至于字段更改,您是对的。如果我只记录任何不同的行,那么在接下来的几个月中就足够了。
标签: sql compare sql-server-2014