2012-04-18 62 views
0

我有我的SQL視圖以下字段:SQL與特定的文本替換場

name | description | date

,我要查詢的maxmin日期和打印新視圖

status | name | description | starting

其中在status字段是文本字段將顯示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但我不知道這個怎麼做。

+1

你能後你有這麼遠的SQL? – KyleNZ 2012-04-18 07:43:39

+0

我只想知道如何創建狀態欄 – SNpn 2012-04-18 07:46:37

+0

狀態欄後面的邏輯是什麼?它將如何生產?發佈您的查詢或預期的結果與數據一起解釋 – bjan 2012-04-18 07:50:36

回答

1

只需使用一個簡單的字符串:

select 'longest time' AS status, name, longname, max(starting) from one 
union 
select 'shortest time' AS status, name, longname, min(starting) from one; 
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