![](/img/trans.png)
[英]How can I get the earliest date to display using the MIN function in MS Access
[英]How do I get earliest records using Min() and Where() SQL functions?
我正在嘗試最早提起記錄,但是我一直遇到錯誤。 我以為可以在WHERE子句中執行此操作,但是我錯了。 如何在符合我代碼中當前兩個條件的位置提取數據?
left outer join
(SELECT
[RID]
,[p_rid]
,[Budget Records.Budget ID]
,[Budget Records.Budget approval process]
,[Budget Records.Inflation base date]
,[Budget Records.Budget Stage]
,CAST(ISNULL([Budget Records.Total capital budget],0) as float) as [CAR Total capital budget]
FROM [FSG_DATA_TEAM].[dbo].[BR]
WHERE [Budget Records.Budget Stage] in ('Cost Plan 1') and min([Budget Records.Inflation base date])) as y
我得到的輸出是“在預期有條件的上下文中,在')'附近指定的非布爾類型的表達式”,但我希望返回的值取決於最早的通脹基准日期。
如果數據庫支持使用窗口分析功能(似乎是SQL-Server
),則可以將查詢的上述部分轉換為:
left outer join
(
SELECT *
(
SELECT
[RID]
,[p_rid]
,[Budget Records.Budget ID]
,[Budget Records.Budget approval process]
,[Budget Records.Inflation base date]
,row_number() over (order by [Budget Records.Inflation base date]) as rn
,[Budget Records.Budget Stage]
,CAST(ISNULL([Budget Records.Total capital budget],0) as float) as [CAR Total capital budget]
FROM [FSG_DATA_TEAM].[dbo].[BR]
WHERE [Budget Records.Budget Stage] in ('Cost Plan 1')
)
WHERE rn = 1
) as y
由於[Budget Records.Inflation base date]
列的最小值,限制了結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.