2008 R2の最新の非NULL値とNULL値を置き換えます NULL値、結果セットは私は(本質的に)コピーが最新の先行する行からの非ヌル値は、結果セットを生成することが結果セットにそれを変換するのResultSetシリーズ(SQL Server 2008 R2の)SQL Serverの
product timestamp price
------- ---------------- -----
5678 2008-01-01 12:00 12.34
5678 2008-01-01 12:01 NULL
5678 2008-01-01 12:02 NULL
5678 2008-01-01 12:03 23.45
5678 2008-01-01 12:04 NULL
PRODUCT_IDおよびタイムスタンプ)によって順序付けされますこれは次のようになります:
product timestamp price
------- ---------------- -----
5678 2008-01-01 12:00 12.34
5678 2008-01-01 12:01 12.34
5678 2008-01-01 12:02 12.34
5678 2008-01-01 12:03 23.45
5678 2008-01-01 12:04 23.45
私は(再びこれが唯一のSQL Server 2008 R2のために必要。)私はこれを行うことができます任意の集約/ウィンドウ関数を見つけることができません
私はのためにこれを行う分析、集計関数を見つけることを期待していました私、何かのような...
LAST_VALUE(price) OVER (PARTITION BY product_id ORDER BY timestamp)
しかし、私はというよりも、前の行にウィンドウをバインドする(ウィンドウ内の「累積最新のnull以外の値を」行うにはどのような方法を見つけるように見えるはありませんパーティション全体)
テーブル値のユーザー定義関数の作成とは別に、私はこれを成し遂げるだろうか?
UPDATE:
どうやら、この機能は 'デナリ' CTPではなく、SQL Server 2008 R2で提供されています。
LAST_VALUE http://msdn.microsoft.com/en-us/library/hh231517%28v=SQL.110%29.aspx
私は(以来10gR2のは、少なくとも)これは、Oracleで利用可能だ、と私はローカル変数を使用して、MySQL 5.1では似た何かを行うことができ、それはSQL Server 2008で発売される予定。
http://download.oracle.com/docs/cd/E14072_01/server.112/e10592/functions083.htm
あなたは2008 R2の機能をそれはデナリに利用できるわけではなくありません? –