Aテーブル
| id | keys |
|---|---|
| 1 | a,b |
| 2 | c |
| 3 | e,c,b |
| 4 | c,d |
| 5 | e |
Bテーブル
| keys | orders |
|---|---|
| a | 1 |
| b | 2 |
| c | 3 |
| d | 4 |
| e | 5 |
tmpテーブル
| id | orders |
|---|---|
| 1 | 1 |
| 1 | 2 |
| 2 | 3 |
| 3 | 5 |
| 3 | 3 |
| 3 | 2 |
| 4 | 3 |
| 4 | 4 |
| 5 | 5 |
( SELECT id,orders FROM A INNER JOIN B ON A.keys like CONCAT('%', B.keys, '%') ) tmp
SQL文の中で上記のような「一時テーブル」を生成しているのですが、これを更に下記のように整形したいです。
tmpテーブル(整形後)
| id | orders |
|---|---|
| 1 | 1 |
| 2 | 3 |
| 3 | 2 |
| 4 | 3 |
| 5 | 5 |
idを一意にするのですが、この時にordersは「最小の値」を採用して重複を解消したいのです。
DISTINCTを考えましたが、最小の値という条件をどのように組み込めばよいのか分からないでいます。
回答2件
あなたの回答
tips
プレビュー
退会済みユーザー
2017/10/16 12:22
2017/10/16 12:35