回答編集履歴

4

追加

2016/10/21 04:01

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -43,3 +43,43 @@
43
43
  USING (row_number) WHERE coalesce(a.購入者コード,b.購入者コード)='00001';
44
44
 
45
45
  ```
46
+
47
+
48
+
49
+ 分類の番号のバージョンを作成しました
50
+
51
+
52
+
53
+ ```sql
54
+
55
+ select coalesce(a.購入者コード,b.購入者コード) 購入者コード, a.管理番号 図書分類A, b.管理番号 図書分類B from
56
+
57
+ (select substr(管理番号,3), * from 図書テーブル where 分類='A') a
58
+
59
+ full join
60
+
61
+ (select substr(管理番号,3), * from 図書テーブル where 分類='B') b
62
+
63
+ using (substr) where coalesce(a.購入者コード,b.購入者コード)='00001' order by substr;
64
+
65
+
66
+
67
+ これだと下記の様になります。
68
+
69
+ 購入者CD |図書分類A|図書分類B
70
+
71
+ ----------+-------+-------
72
+
73
+ 00001 | AA001 | BB001
74
+
75
+ 00001 | AA002 | BB002
76
+
77
+ 00001 | | BB003
78
+
79
+ 00001 | AA004 |
80
+
81
+ ```
82
+
83
+
84
+
85
+

3

修正

2016/10/21 04:01

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
File without changes

2

修正

2016/10/21 03:34

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
  ```sql
34
34
 
35
- SELECT coalesce(a.購入者コード,b.購入者コード) 購入者コード, a.管理番号, b.管理番号 from
35
+ SELECT coalesce(a.購入者コード,b.購入者コード) 購入者コード, a.管理番号 図書分類A, b.管理番号 図書分類B from
36
36
 
37
37
  (SELECT ROW_NUMBER() OVER (),購入者コード,管理番号 from (select * from 図書テーブル order by 管理番号) 図書テーブル where 分類='A') a
38
38
 

1

追加

2016/10/21 03:34

投稿

A.Ichi
A.Ichi

スコア4070

test CHANGED
@@ -21,3 +21,25 @@
21
21
 
22
22
 
23
23
  さらに右に図書分類cとはなりません。
24
+
25
+
26
+
27
+
28
+
29
+ ご期待に沿えずにすみませんでした。思い付くところを修正してみました。
30
+
31
+
32
+
33
+ ```sql
34
+
35
+ SELECT coalesce(a.購入者コード,b.購入者コード) 購入者コード, a.管理番号, b.管理番号 from
36
+
37
+ (SELECT ROW_NUMBER() OVER (),購入者コード,管理番号 from (select * from 図書テーブル order by 管理番号) 図書テーブル where 分類='A') a
38
+
39
+ FULL JOIN
40
+
41
+ (SELECT ROW_NUMBER() OVER (),購入者コード,管理番号 from (select * from 図書テーブル order by 管理番号) 図書テーブル where 分類='B') b
42
+
43
+ USING (row_number) WHERE coalesce(a.購入者コード,b.購入者コード)='00001';
44
+
45
+ ```