0

我有一个带有查询的存储过程:

SELECT
    ID
    ,AmountInCurrency
    ,ExtractionDate
FROM
    Table

此查询返回 2 行:

ID  AmountInCurrency    ExtractionDate
1   8.00                2013-10-17 10:00:00.000
1   10.50               2013-09-16 09:00:00.000

我想在变量@mindate 和@maxdate 中选择Min 和Max Extrationdate。现在我将结果集放入一个临时表中,并从中选择最大值和最小值。

但是是否有可能像在选择中那样做:

ID  AmountInCurrency    ExtractionDate          MinExtractionDate       MaxExtractionDate
1   8.00            2013-10-17 10:00:00.000     2013-09-16 09:00:00.000     2013-10-17 10:00:00.000
1   10.50           2013-09-16 09:00:00.000     2013-09-16 09:00:00.000     2013-10-17 10:00:00.000
4

2 回答 2

6

看起来您想将最小和最大日期添加为结果集中的额外列。如果是这样,请使用窗口函数:

SELECT ID, AmountInCurrency, ExtractionDate,
       min(ExtractionDate) over () as MinExtractionDate,
       max(ExtractionDate) over () as MaxExtractionDate
FROM Table;
于 2013-10-17T22:41:47.633 回答
2
declare @mindate datetime,
              @maxdate datetime

select @mindate = min(extraction_date),
            @maxdate = max(extraction_date)
from tbl
于 2013-10-17T22:24:26.177 回答