0

我的 sql 视图有以下字段:

name | description | date

我必须在其中查询maxmin日期并将新视图打印为

status | name | description | starting

where in the statusfield is a text field 将显示longest timeshortest time。这个字段是全新的,没有内置到任何表中,我将如何在视图中创建这个字段?

编辑:

我想在status我的视图中添加额外的字段,所以制作一个额外的列。因此,我有

create or replace view one (name, description, starting) as
-- SQL STUFF HERE...

从这个视图中,我需要从中获取最大值和最小值并将这两个选择合并在一起,但添加一个额外的列来描述该行是否具有longest timeshortest time. 要得到

create or replace view two (status, name, description, starting) as

目前我已经写了

select name, longname, max(starting) from one
union
select name, longname, min(starting) from one;

这会打印出三列,但我需要添加额外的第四列status,但我不知道该怎么做。

4

2 回答 2

1

只需使用一个简单的字符串:

select 'longest time' AS status, name, longname, max(starting) from one
union
select 'shortest time' AS status, name, longname, min(starting) from one; 
于 2012-04-18T07:57:39.780 回答
0

不确定您想要什么开始显示,因为您没有描述它,但 group by 是您正在寻找的内容,您可以在您的日期运行聚合函数以获得您想要的信息。您可能需要不同的日期格式,因此您可能希望使用 Convert 而不是 cast 以您想要的格式获取日期。

SELECT
    CAST(MAX(Date) AS NVARCHAR(20)) + ' ,' 
    + CAST(MIN(Date) AS NVARCHAR(20)) AS Status
    Name
    Description

FROM tblMyTables
GROUP BY 
    Name, 
    Description
于 2012-04-18T07:47:35.303 回答