回答編集履歴

2

調整

2021/10/14 05:23

投稿

yambejp
yambejp

スコア116724

test CHANGED
@@ -1,3 +1,77 @@
1
1
  おそらく一旦サブクエリで処理して外側で変数処理するやり方になりそうですが
2
2
 
3
3
  いまご提示の内容では具体的な回答は難しいです
4
+
5
+
6
+
7
+ ```SQL
8
+
9
+ create table tbl_a(col1 varchar(10),col2 varchar(10),col3 varchar(10));
10
+
11
+ insert into tbl_a values
12
+
13
+ ('000001','01','001'),
14
+
15
+ ('000001','02','002'),
16
+
17
+ ('000001','03','003'),
18
+
19
+ ('000001','04','004'),
20
+
21
+ ('000002','01','001'),
22
+
23
+ ('000002','02','002'),
24
+
25
+ ('000002','03','003'),
26
+
27
+ ('000003','01','001');
28
+
29
+
30
+
31
+ create table tbl_b(col1 varchar(10),col2 varchar(10));
32
+
33
+ insert into tbl_b values
34
+
35
+ ('000001','AAA'),
36
+
37
+ ('000002','BBB'),
38
+
39
+ ('000003','CCC'),
40
+
41
+ ('000004','DDD'),
42
+
43
+ ('000005','EEE');
44
+
45
+
46
+
47
+ create table tbl_c(col1 varchar(10),col2 varchar(10),col3 varchar(10));
48
+
49
+ insert into tbl_c values
50
+
51
+ ('000001','001','あああ'),
52
+
53
+ ('000001','002','いいい'),
54
+
55
+ ('000001','003','ううう'),
56
+
57
+ ('000001','004','えええ'),
58
+
59
+ ('000002','001','おおお'),
60
+
61
+ ('000002','002','かかか'),
62
+
63
+ ('000002','003','ききき'),
64
+
65
+ ('000003','001','くくく');
66
+
67
+
68
+
69
+ select t1.*,t2.col3 as col4,(select count(*)+1 from tbl_c where col1=t1.col1 and col2<t1.col2) as col5 from tbl_c as t1
70
+
71
+ inner join tbl_a as t2 on t1.col1=t2.col1 and t1.col2=t2.col3
72
+
73
+ ```
74
+
75
+ tbl_b使ってないですね?
76
+
77
+ tbl_aとtbl_bを分ける意味があまりないですね

1

ちょうせい

2021/10/14 05:23

投稿

yambejp
yambejp

スコア116724

test CHANGED
@@ -1,3 +1,3 @@
1
1
  おそらく一旦サブクエリで処理して外側で変数処理するやり方になりそうですが
2
2
 
3
- いまご提示の内容では明確な回答は難しいです
3
+ いまご提示の内容では具体的な回答は難しいです