次のテーブルがあるとします。
Value Time
0 15/06/2012 8:03:43 PM
1 15/06/2012 8:03:43 PM *
1 15/06/2012 8:03:48 PM
1 15/06/2012 8:03:53 PM
1 15/06/2012 8:03:58 PM
2 15/06/2012 8:04:03 PM *
2 15/06/2012 8:04:08 PM
3 15/06/2012 8:04:13 PM *
3 15/06/2012 8:04:18 PM
3 15/06/2012 8:04:23 PM
2 15/06/2012 8:04:28 PM *
2 15/06/2012 8:04:33 PM
スター付きの行、つまりValue
変更された行を選択するにはどうすればよいですか? 基本的に、変更された時間を見つけようとしているValue
ので、それらの時間間隔に基づいて他のクエリを実行できます。Value
解決策は、知っていることやTime
事前に依存するべきではありません。
これはそれほど難しいことではないように思えます (しかし、私にとっては十分難しいようです!)。
現在、SQL Server 2008 を使用していますが、新しいウィンドウ/分析機能が役立つ場合は 2012 にアクセスできます。
ここでソリューションを適応させてみましたhttp://blog.sqlauthority.com/2011/11/24/sql-server-solution-to-puzzle-simulate-lead-and-lag-without-using-sql-server-2012- analytic-function/しかし、私のクエリは 1 時間経っても完了しませんでした! 結合により、行サイズが管理不能なものに爆発すると思います(または、私はそれを台無しにしました)。
この問題は C# コードと複数の db 呼び出しで解決できますが、テーブル値関数または SP で実行できる方がはるかに優れているようです。
また、増加でのみ機能するソリューションValue
は、それが簡単であれば問題ありません。