回答編集履歴
4
追加
answer
CHANGED
@@ -20,4 +20,23 @@
|
|
20
20
|
FULL JOIN
|
21
21
|
(SELECT ROW_NUMBER() OVER (),購入者コード,管理番号 from (select * from 図書テーブル order by 管理番号) 図書テーブル where 分類='B') b
|
22
22
|
USING (row_number) WHERE coalesce(a.購入者コード,b.購入者コード)='00001';
|
23
|
-
```
|
23
|
+
```
|
24
|
+
|
25
|
+
分類の番号のバージョンを作成しました
|
26
|
+
|
27
|
+
```sql
|
28
|
+
select coalesce(a.購入者コード,b.購入者コード) 購入者コード, a.管理番号 図書分類A, b.管理番号 図書分類B from
|
29
|
+
(select substr(管理番号,3), * from 図書テーブル where 分類='A') a
|
30
|
+
full join
|
31
|
+
(select substr(管理番号,3), * from 図書テーブル where 分類='B') b
|
32
|
+
using (substr) where coalesce(a.購入者コード,b.購入者コード)='00001' order by substr;
|
33
|
+
|
34
|
+
これだと下記の様になります。
|
35
|
+
購入者CD |図書分類A|図書分類B
|
36
|
+
----------+-------+-------
|
37
|
+
00001 | AA001 | BB001
|
38
|
+
00001 | AA002 | BB002
|
39
|
+
00001 | | BB003
|
40
|
+
00001 | AA004 |
|
41
|
+
```
|
42
|
+
|
3
修正
answer
CHANGED
File without changes
|
2
修正
answer
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
ご期待に沿えずにすみませんでした。思い付くところを修正してみました。
|
16
16
|
|
17
17
|
```sql
|
18
|
-
SELECT coalesce(a.購入者コード,b.購入者コード) 購入者コード, a.管理番号, b.管理番号 from
|
18
|
+
SELECT coalesce(a.購入者コード,b.購入者コード) 購入者コード, a.管理番号 図書分類A, b.管理番号 図書分類B from
|
19
19
|
(SELECT ROW_NUMBER() OVER (),購入者コード,管理番号 from (select * from 図書テーブル order by 管理番号) 図書テーブル where 分類='A') a
|
20
20
|
FULL JOIN
|
21
21
|
(SELECT ROW_NUMBER() OVER (),購入者コード,管理番号 from (select * from 図書テーブル order by 管理番号) 図書テーブル where 分類='B') b
|
1
追加
answer
CHANGED
@@ -9,4 +9,15 @@
|
|
9
9
|
USING (row_number) WHERE coalesce(a.購入者コード,b.購入者コード)='00001';
|
10
10
|
```
|
11
11
|
|
12
|
-
さらに右に図書分類cとはなりません。
|
12
|
+
さらに右に図書分類cとはなりません。
|
13
|
+
|
14
|
+
|
15
|
+
ご期待に沿えずにすみませんでした。思い付くところを修正してみました。
|
16
|
+
|
17
|
+
```sql
|
18
|
+
SELECT coalesce(a.購入者コード,b.購入者コード) 購入者コード, a.管理番号, b.管理番号 from
|
19
|
+
(SELECT ROW_NUMBER() OVER (),購入者コード,管理番号 from (select * from 図書テーブル order by 管理番号) 図書テーブル where 分類='A') a
|
20
|
+
FULL JOIN
|
21
|
+
(SELECT ROW_NUMBER() OVER (),購入者コード,管理番号 from (select * from 図書テーブル order by 管理番号) 図書テーブル where 分類='B') b
|
22
|
+
USING (row_number) WHERE coalesce(a.購入者コード,b.購入者コード)='00001';
|
23
|
+
```
|