Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 表中仅显示最新数据_Sql_Sql Server_Sql Server 2005 - Fatal编程技术网

Sql 表中仅显示最新数据

Sql 表中仅显示最新数据,sql,sql-server,sql-server-2005,Sql,Sql Server,Sql Server 2005,如何创建表,或者可能触发如下操作 Date Data 2/6/2013 2 2/6/2013 1 2/6/2013 3 2/6/2013 1 2/6/2013 0 顶部的表格将交替作为下一个表格的输入,但只有最后一个输入将显示在下一个表格中输入将交替从2到0 只要说输入从2-1-3-1-0开始,表上就只显示0如何触发?0只包含数据,而不是唯一的内容。只有最新

如何创建表,或者可能触发如下操作

     Date        Data

   2/6/2013         2
   2/6/2013         1
   2/6/2013         3
   2/6/2013         1
   2/6/2013         0

顶部的表格将交替作为下一个表格的输入,但只有最后一个输入将显示在下一个表格中输入将交替从2到0

只要说输入从2-1-3-1-0开始,表上就只显示0
如何触发?0只包含数据,而不是唯一的内容。只有最新的输入才会显示在表上。请记住下面的表格触发了顶部的表格以获取数据
我只想每次插入新输入时,删除已经存在的数据,并且只显示新输入

  Data
    0

我想你只是想要一个显示最新价值的视图

以下是您将用于查看的查询

SELECT TOP 1 Data FROM Table ORDER BY Date DESC
编辑要完全执行您想要的操作,您只需要一个用于插入的存储过程

-- Copy old value into history
INSERT INTO History SELECT * From Table WHERE yourCondition = True
-- Delete old value
DELETE FROM Table WHERE yourCondition = True
-- Insert new value
INSERT INTO Table VALUES(@Date, @Data)

现在,表将只包含一行最新值,而历史记录将包含所有旧值。这是完全不标准和不合理的,但应该正是你想要的。如果您不需要历史记录,您可以删除第一条INSERT语句。

那么您想要一个写入历史记录的触发器吗?可能是@DanielHilgarth的副本,我不知道它是否是历史记录,我知道它会给我类似的输出that@DanielHilgarth,我觉得不一样。为什么是一样的?嘿,你怎么可能跟别人说我的帖子是一样的。你们为什么把那个牌子贴在我的帖子上。我不认为它是同一个post不,我不想只是一个视图表,但它将作为我可以使用的真实表again@user2040175-您不能一直重新创建表。在现实世界中,并没有人会让你们这样做,甚至不会想到这样的事情。您为这个创建了一个视图。@Art,我想我不会重新创建它。我只想每次插入新输入时,删除已经存在的数据,并且只显示新输入,然后我可以建议删除每行的触发器。+1,但添加了一些伪代码,其中OP之前的条件太严重,会删除整个表,等等。。。