質問編集履歴
4
説明に不要な名称の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
テーブルの中に状態カラムを持つテーブル(
|
1
|
+
テーブルの中に状態カラムを持つテーブル(Bテーブル)の条件に応じて出力する順番を変えるSQLを作成したいのですが上手く実現できません。
|
2
2
|
|
3
3
|
どのように修正すれば実現できるでしょうか?
|
4
4
|
|
3
説明に不要な名称の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,7 +6,27 @@
|
|
6
6
|
|
7
7
|
```sql
|
8
8
|
|
9
|
-
SELECT
|
9
|
+
SELECT
|
10
|
+
|
11
|
+
`A`.*,
|
12
|
+
|
13
|
+
`B`.id as B_id,
|
14
|
+
|
15
|
+
`C`.id as C_id,
|
16
|
+
|
17
|
+
`C`.operating_status as C_operating
|
18
|
+
|
19
|
+
FROM `A`
|
20
|
+
|
21
|
+
inner join `B` on `A`.id = `B`.A_id
|
22
|
+
|
23
|
+
left outer join `C` on `C`.B_id = `C`.id
|
24
|
+
|
25
|
+
ORDER BY
|
26
|
+
|
27
|
+
`A`.A_name ASC,
|
28
|
+
|
29
|
+
FIELD(C_operating, '稼働中', '一時停止中', '終了');
|
10
30
|
|
11
31
|
```
|
12
32
|
|
@@ -14,13 +34,13 @@
|
|
14
34
|
|
15
35
|
実行しているSQLは細部は省きますが上記のものです。
|
16
36
|
|
17
|
-
|
37
|
+
AテーブルとBテーブルが親子関係にあり、BテーブルとCテーブルが親子関係にあります。
|
18
38
|
|
19
39
|
**実行結果としては**
|
20
40
|
|
21
|
-
単に
|
41
|
+
単にAテーブルのA_nameで並び替えられたものの内部で状態ごと(稼働中、一時停止中、終了中)に順序が変わるだけなので
|
22
42
|
|
23
|
-
状態が終了中のみのデータでも
|
43
|
+
状態が終了中のみのデータでもA_nameの昇順で上の方に存在してしまいます。
|
24
44
|
|
25
45
|
下記イメージ図
|
26
46
|
|
@@ -34,7 +54,7 @@
|
|
34
54
|
|
35
55
|
'一時停止中'、'終了中'のみのものは下。という順番にしたいということです。
|
36
56
|
|
37
|
-
上記にあるイメージでは完全に稼働状況別に別れてしまっていて同一
|
57
|
+
上記にあるイメージでは完全に稼働状況別に別れてしまっていて同一A_nameがあっても状態が異なる場合は表示場所が変わってしまいます。
|
38
58
|
|
39
59
|
|
40
60
|
|
2
誤解を与える画像の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -24,9 +24,7 @@
|
|
24
24
|
|
25
25
|
下記イメージ図
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
![イメージ説明](
|
27
|
+
![イメージ説明](ceff7a53e04d20d640524dac2f4da84c.png)
|
30
28
|
|
31
29
|
|
32
30
|
|
1
文章修正、参考画像追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,15 +18,25 @@
|
|
18
18
|
|
19
19
|
**実行結果としては**
|
20
20
|
|
21
|
-
companiesテーブルのcompany_name
|
21
|
+
単にcompaniesテーブルのcompany_nameで並び替えられたものの内部で状態ごと(稼働中、一時停止中、終了中)に順序が変わるだけなので
|
22
|
+
|
23
|
+
状態が終了中のみのデータでもcompany_nameの昇順で上の方に存在してしまいます。
|
24
|
+
|
25
|
+
下記イメージ図
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
![イメージ説明](66dddb19cead1a0013445b41e4092ba7.png)
|
22
30
|
|
23
31
|
|
24
32
|
|
25
33
|
**本来実現したいこととしては**
|
26
34
|
|
27
|
-
|
35
|
+
状態が’稼働中’であるデータを含んでいるものは上。
|
28
36
|
|
29
|
-
終了のみのものは
|
37
|
+
'一時停止中'、'終了中'のみのものは下。という順番にしたいということです。
|
38
|
+
|
39
|
+
上記にあるイメージでは完全に稼働状況別に別れてしまっていて同一company_nameがあっても状態が異なる場合は表示場所が変わってしまいます。
|
30
40
|
|
31
41
|
|
32
42
|
|