次のようなSQLクエリがあります。
SELECT Name, Text as Value, UpdateDate from A WHERE UserID = @userId
UNION
SELECT Name, STR(Value), UpdateDate FROM B WHERE UserID = @userId
テーブルA
とB
その両方には、特定の名前の行がある場合とない場合があります。両方に名前がある場合、結果セットに最新の行のみを含める必要があります。
現在、私の結果セットは次のようになります。
Name | Value | UpdateDate
Foo '23' Jan-1-2012
Foo 'A' Feb-7-2013
Bar '42' Jan-3-2011
そして、それを次のように要約したいと思います。
Name | Value
Foo 'A'
Bar '42'
クライアントでこれをかなり簡単に実行できることはわかっていますが、何らかのGroup-By
魔法を使用して単一のクエリで実行できるとしたら、本当に素晴らしいことです。うまくいけば、それも高すぎないでしょう。