在以下查詢中,開始/結束列是日期時間字段。從多個字段中選擇最大/最小值
我應該如何修改這個查詢來獲得兩個更多的列,一個是最小日期,另一個是最大日期(所有6個日期時間字段和所有行)在每一行中重複。
或者,我怎樣才能創建一個新的查詢,返回這些2(最小/最大)日期,當然是相同的結果集?
非常感謝! (我想爲這兩個SQL Server 2005和Sybase ASE的12.5.4答案)
select erg_mst.code,
erg_types.perigrafh,
erg_mst.FirstBaseStart,
erg_mst.FirstBaseFinish,
erg_mst.LastBaseStart,
erg_mst.LastBaseFinish ,
erg_mst.ActualStart,
erg_mst.ActualFinish
from erg_mst inner join
erg_types on erg_mst.type = erg_types.type_code
where erg_mst.activemodule = 'co'
and (
FirstBaseStart <> NULL OR
FirstBaseFinish <> NULL OR
LastBaseStart <> NULL OR
LastBaseFinish <> NULL OR
ActualStart <> NULL OR
ActualFinish <> NULL
)
order by isnull(FirstBaseStart,isnull(LastBaseStart,ActualStart))
呃...不要使用'FirstBaseStart <> NULL',而是'FirstBaseStart IS NOT NULL',否則它將無法按預期工作,具體取決於ANSI NULL設置。 – Lucero 2010-03-05 09:32:39
非常感謝,我會牢記這一點! – 2010-03-05 10:00:15