0

SQL Server 2008 R2 を使用しています。私はテーブルに以下のような記録を持っています:

Id  Sys   Dia   Type        UniqueId
1   156   20    first       12345
2   157   20    first       12345
3   150   15    last        12345
4   160   17    Average     12345
5   150   15    additional  12345
6   157   35    last        891011
7   156   25    Average     891011
8   163   35    last        789521
9   145   25    Average     789521
10  156   20    first       963215
11  150   15    last        963215
12  160   17    Average     963215
13  156   20    first       456878
14  157   20    first       456878
15  150   15    last        456878
16  160   17    Average     456878
17  150   15    last        246977
18  160   17    Average     246977
19  150   15    additional  246977

このデータに関して、これらのレコードは、共通の UniqueId を持つ一種のグループです。レコードは、「最初、最後、平均、および追加」のタイプにすることができます。ここで、これらのレコードから、グループに「最初の」または「追加の」種類の読み取りがある場合にのみ、「平均」タイプのレコードを選択したいと考えています。そうでなければ、それらを選択から除外したい..

期待される結果は次のとおりです。

Id  Sys   Dia   Type        UniqueId
1   156   20    first       12345
2   157   20    first       12345
3   150   15    last        12345
4   160   17    Average     12345
5   150   15    additional  12345
6   157   35    last        891011
7   163   35    last        789521
8   156   20    first       963215
9   150   15    last        963215
10  160   17    Average     963215
11  156   20    first       456878
12  157   20    first       456878
13  150   15    last        456878
14  160   17    Average     456878
15  150   15    last        246977
16  160   17    Average     246977
17  150   15    additional  246977

つまり、 type="Average" を持ち、同じ UniqueId を持つ「最後の」タイプのレコードのみを持つレコードを選択したくありません。解決策はありますか?

4

2 に答える 2