回答編集履歴

5

不要箇所の削除

2016/07/20 23:47

投稿

Panzer_vor
Panzer_vor

スコア1636

test CHANGED
@@ -64,10 +64,6 @@
64
64
 
65
65
  後は上記を膨らませていく感じです。
66
66
 
67
- 結合中のパフォーマンスが気になるようでしたら、
68
-
69
- 気休めですがBの方を基本として結合を行えば良いかと。
70
-
71
67
 
72
68
 
73
69
  **追記②**

4

ソース誤り修正

2016/07/20 23:47

投稿

Panzer_vor
Panzer_vor

スコア1636

test CHANGED
@@ -38,7 +38,9 @@
38
38
 
39
39
  FROM
40
40
 
41
- 売上表 A
41
+ 売上表 A
42
+
43
+ INNER JOIN
42
44
 
43
45
  (
44
46
 
@@ -54,7 +56,7 @@
54
56
 
55
57
  削除フラグ = '0'
56
58
 
57
- ) B INNER JOIN A.顧客CD = B.最小顧客CD
59
+ ) B ON A.顧客CD = B.最小顧客CD
58
60
 
59
61
  ```
60
62
 
@@ -65,3 +67,11 @@
65
67
  結合中のパフォーマンスが気になるようでしたら、
66
68
 
67
69
  気休めですがBの方を基本として結合を行えば良いかと。
70
+
71
+
72
+
73
+ **追記②**
74
+
75
+ ソース修正しました。
76
+
77
+ 寝ぼけてどえらいコード書いてました……

3

ソース修正

2016/07/20 23:34

投稿

Panzer_vor
Panzer_vor

スコア1636

test CHANGED
@@ -52,7 +52,7 @@
52
52
 
53
53
  WHERE
54
54
 
55
- 削除フラグ <> '1'
55
+ 削除フラグ = '0'
56
56
 
57
57
  ) B INNER JOIN A.顧客CD = B.最小顧客CD
58
58
 

2

具体例の追加

2016/07/20 23:31

投稿

Panzer_vor
Panzer_vor

スコア1636

test CHANGED
@@ -23,3 +23,45 @@
23
23
  MySQL以外のDBMSだとWITH句をサポートしてるので、
24
24
 
25
25
  クエリ自体はもう少しすっきり書けそうな気はするのですが^^;
26
+
27
+
28
+
29
+ **追記**
30
+
31
+ イメージとしては以下のような感じです。
32
+
33
+ ```SQL
34
+
35
+ SELECT
36
+
37
+ *
38
+
39
+ FROM
40
+
41
+ 売上表 A
42
+
43
+ (
44
+
45
+ SELECT
46
+
47
+ MIN(売上表.顧客CD) 最小顧客CD
48
+
49
+ FROM
50
+
51
+ 売上表
52
+
53
+ WHERE
54
+
55
+ 削除フラグ <> '1'
56
+
57
+ ) B INNER JOIN A.顧客CD = B.最小顧客CD
58
+
59
+ ```
60
+
61
+
62
+
63
+ 後は上記を膨らませていく感じです。
64
+
65
+ 結合中のパフォーマンスが気になるようでしたら、
66
+
67
+ 気休めですがBの方を基本として結合を行えば良いかと。

1

文面変更

2016/07/20 23:29

投稿

Panzer_vor
Panzer_vor

スコア1636

test CHANGED
@@ -22,4 +22,4 @@
22
22
 
23
23
  MySQL以外のDBMSだとWITH句をサポートしてるので、
24
24
 
25
- クエリ自体はもう少しすっきり書けそうなのですが^^;
25
+ クエリ自体はもう少しすっきり書けそうな気はするのですが^^;