【发布时间】:2014-03-11 22:45:49
【问题描述】:
我有一个编译记录的表,每条记录都有一个与记录关联的数据。例如我最近的数据范围是2014-2-8 我的第二个数据范围是2014-1-6,这个查询将被放在一个报告中,所以我希望代码是动态的。
我可以使用
计算出最大日期select max((alias.date))
from table as alias1
where alias.date = alias1.date
我的最终游戏是使用id、productname、date 编写一个选择,最新数据范围内的任何新产品都会拉入查询。
基本上任何与最大日期相关的产品都会与第二个到最大日期进行比较(对不起,我知道是愚蠢的)并生产这些产品。
我希望这是有道理的。
非常感谢。
【问题讨论】:
-
你能再分享一些代码/模式吗?到目前为止你尝试了什么?您的查询中的 alias1 是什么?
-
我的表有 3 列。 ProductId、产品和日期。每当我设置 ETL 时,我总是会构建一个 varchar 日期列来引用我的列。因此,基本上我正在尝试将产品与最大日期与产品 1 小于最大日期进行比较。我可以写像 WHERE r.PDate = (SELECT MAX((r1.PDate)) from [dbo].[RawData] as r1 where r.PDate = r1.PDate) 这样的片段来获得最大范围,但它并没有聚集在一起我。我在想可能是 select max data 和 select
标签: sql sql-server date