0033NAME IS NULL
2018/02/04(日) 15:27:38.88ID:gIv0OydZ以下のようなTableAとTableBをTableAのIDで結合して、
1. TableBに特定のKEY(ここではKEY=2)が含まれているならそのデータを、
2. 含まれていなければ若いKEYのデータを、
3. KEYそのものが存在しなければNULL
を返す結果を取得したいです
どのようなSQLなら実現しますか?
「TableA」
ID | NAME
--+-------
1 | aaa
2 | bbb
3 | ccc
4 | ddd
「TableB」
ID2 | ID | KEY | DATA
--+----+-----+-----
1 | 1 | 1 | a_key1
2 | 1 | 2 | a_key2
3 | 1 | 3 | a_key3
4 | 2 | 1 | b_key1
5 | 2 | 2 | b_key2
6 | 3 | 1 | c_key1
7 | 3 | 3 | c_key3
「結果」
ID | NAME | ID2 | DATA
--+---------+----------
1 | aaa | 2 | a_key2
2 | bbb | 5 | b_key2
1 | ccc | 6 | c_key1
3 | ddd | NULL | NULL