我有一個表,類似於這樣一些數據:迭代查詢,而無需使用CTE
Item Date Price A 8/29/2012 $3 B 8/29/2012 $23 C 8/29/2012 $10 A 8/30/2012 $4 B 8/30/2012 $25 C 8/30/2012 $11 A 8/31/2012 $3 B 8/31/2012 $22 C 8/31/2012 $8 A 9/01/2012 $3 B 9/01/2012 $26 C 9/01/2012 $9 A 9/02/2012 $3 B 9/02/2012 $24 C 9/02/2012 $9
我需要編寫標識的價格爲沒有改變 查詢自2012年8月30日起,物品C的價格自9/01/2012以來沒有變化,並且 返回兩者(我們正在尋找物品 與非移動價格)的天數。我不能使用CTE或遊標,或者由於這個sql需要運行的網絡報告 的限制而單獨創建臨時表(select into等)。我只能使用'basic'單遍選擇查詢 (子查詢將盡管)。有沒有人有任何狡猾的想法如何 實現這?
我第一次嘗試是按項目和價格,在價格相同 最新價格,having count > 2
,確定最小日期和做分鐘日期和GETDATE之間的DATEDIFF 。然而,這只是標識了第一個 價格的實例,它並沒有考慮到任何後續行可能有不同的價格。希望這是有道理的。
您正在使用哪些DBMS? PostgreSQL的?甲骨文? DB2? –
Btw:你總是可以編寫一個視圖來返回所需的信息,然後在你的報告工具中從該視圖中執行SELECT –
對不起,應該說,這是SQL Server 2008.可悲的是,我無法寫視圖 - 這是供應商託管的數據庫,我們擁有它的只讀權限! – Luke