単純なテーブルに次のデータがあります。
ID | TYPE
---------
1 | 1
1 | 2
2 | 1
3 | 2
4 | 1
4 | 2
4 | 3
5 | 1
5 | 3
6 | 3
次の方法でこのデータをクエリする必要があります。
- ID ごとに 1 行のみを返す必要があります
- ID の行が 1 つしかない場合は、それを返します。
- ID の行が複数ある場合は、TYPE = 2 の行を返します。存在しない場合は、TYPE = 3 の行を返します。
- TYPE は 1、2、または 3 のいずれかです
- ID と TYPE には複合一意インデックスがあります。つまり、ID ごとに最大 3 つの行が存在する可能性があります。
質問: このロジックをクエリにどのように配置しますか?
期待される結果:
ID | TYPE
---------
1 | 2
2 | 1
3 | 2
4 | 2
5 | 3
6 | 3