Sql 使用同一表中的数据更新记录
我有一个连接表,用于记录文件状态的更改(活动/删除/存档等) e、 g 在某些日期,如7月15日,有许多记录没有相应插入 有没有办法自动更新某些记录 我想将状态更改为最后一个选项“它是最新日期”,如果状态为0,并且如果同一文件外键没有以前的0 as状态,则无需修改以前的状态(其值为零) 以文件_FK=300为例,尝试简化: 我想: 要更新的文件的状态为1。 状态“0”无效,因为它是在2015年9月14日创建的最后一个状态 阻止更新2015年7月14日创建的“0”。 基本上,我希望将文件的状态更改为“0”之前的状态,而不更改先前执行的0。Sql 使用同一表中的数据更新记录,sql,sql-server,Sql,Sql Server,我有一个连接表,用于记录文件状态的更改(活动/删除/存档等) e、 g 在某些日期,如7月15日,有许多记录没有相应插入 有没有办法自动更新某些记录 我想将状态更改为最后一个选项“它是最新日期”,如果状态为0,并且如果同一文件外键没有以前的0 as状态,则无需修改以前的状态(其值为零) 以文件_FK=300为例,尝试简化: 我想: 要更新的文件的状态为1。 状态“0”无效,因为它是在2015年9月14日创建的最后一个状态 阻止更新2015年7月14日创建的“0”。 基本上,我希望将文件的状态更改
您可以添加一个示例输出吗?因此,根据您不同的日期格式,我假设您将日期存储在varchar列中?这是你的一大问题:P@Kritner啊,不,对不起。这只是excel格式化它们的方式。它们的DateTime属性类型完全相同。@DeepakPawar输出什么对不起?
+----+---------+------------+-------+
| PK | File_FK | Date | State |
+----+---------+------------+-------+
| 1 | 100 | 11-9-2015 | 1 |
| 2 | 200 | 14-09-2015 | 2 |
| 3 | 300 | 14-07-2015 | 0 |
| 4 | 300 | 12-9-2015 | 2 |
| 5 | 200 | 14-09-2015 | 2 |
| 6 | 300 | 14-09-2015 | 0 |
| 7 | 300 | 13-09-2015 | 1 |
+----+---------+------------+-------+