teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

追加

2016/10/21 04:01

投稿

A.Ichi
A.Ichi

スコア4070

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

修正

2016/10/21 04:01

投稿

A.Ichi
A.Ichi

スコア4070

answer CHANGED
File without changes

2

修正

2016/10/21 03:34

投稿

A.Ichi
A.Ichi

スコア4070

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

追加

2016/10/21 03:34

投稿

A.Ichi
A.Ichi

スコア4070

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
+ ```