回答編集履歴
1
コードミス修正
answer
CHANGED
@@ -1,31 +1,31 @@
|
|
1
1
|
依頼を別で出させていただいてますが、
|
2
2
|
おそらく勉強目的でのサブクエリ化という認識で相違ないですかね?
|
3
|
-
(※サブクエリ化するメリットが見受けられないので要件・仕様的なところではないとは思ってます。)
|
3
|
+
(※サブクエリ化するメリットがあまり見受けられないので要件・仕様的なところではないとは思ってます。)
|
4
4
|
|
5
5
|
質問者様があげられて箇所をサブクエリ化した場合、
|
6
6
|
修正後のクエリは以下のようなイメージとなります。
|
7
7
|
|
8
8
|
```SQL
|
9
9
|
SELECT
|
10
|
-
p.県コード,
|
11
|
-
s.店コード,
|
12
|
-
|
10
|
+
t.*,
|
13
11
|
IFNULL(nos.店舗数, 0) AS 店舗数
|
14
|
-
FROM
|
12
|
+
FROM
|
15
|
-
県テーブル AS p
|
16
|
-
-- 前回の回答追記にもありますが下記INNER JOINはCROSS JOINへ置き換え可能です。
|
17
|
-
|
13
|
+
(
|
18
14
|
SELECT
|
15
|
+
p.県コード,
|
16
|
+
s.店コード,
|
19
|
-
|
17
|
+
s.店名
|
20
18
|
FROM
|
21
|
-
|
19
|
+
県テーブル AS p
|
20
|
+
-- 下記は前回回答追記の通り「CROSS JOIN」へ置き換え可能です
|
21
|
+
INNER JOIN 店テーブル AS s
|
22
|
-
) AS
|
22
|
+
) AS t
|
23
23
|
LEFT OUTER JOIN 店舗数テーブル AS nos
|
24
|
-
ON
|
24
|
+
ON t.県コード = nos.県コード
|
25
|
-
AND
|
25
|
+
AND t.店コード = nos.店コード
|
26
26
|
ORDER BY
|
27
|
-
県コード,
|
27
|
+
t.県コード,
|
28
|
-
店コード
|
28
|
+
t.店コード
|
29
29
|
;
|
30
30
|
```
|
31
31
|
|