回答編集履歴
2
教科名周りがおかしかったので修正
answer
CHANGED
@@ -17,12 +17,17 @@
|
|
17
17
|
|
18
18
|
かくならこんな感じで社会用と英語用でt_scoreを2回結合する必要があります
|
19
19
|
```lang-SQL
|
20
|
-
SELECT
|
20
|
+
SELECT
|
21
|
+
sei.name
|
22
|
+
, so_nam.ky_names
|
23
|
+
, so.score
|
24
|
+
, en_nam.ky_names
|
25
|
+
, en.score
|
21
|
-
FROM t_seito sei, t_score so, t_score en, m_kyouka
|
26
|
+
FROM t_seito sei, t_score so, t_score en, m_kyouka so_nam, m_kyouka en_name
|
22
27
|
WHERE sei.id = so.seito_id
|
23
28
|
AND sei.id = en.seito_id
|
24
|
-
AND so.sckyouka_id =
|
29
|
+
AND so.sckyouka_id = so_nam.kyouka_id
|
25
|
-
AND en.sckyouka_id =
|
30
|
+
AND en.sckyouka_id = en_nam.kyouka_id
|
26
31
|
-- 社会で絞り込み
|
27
32
|
AND so.kyouka_id = 4
|
28
33
|
AND so.score >= 50
|
1
誤字修正&説明に+α
answer
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
> and kyouka_id=5
|
4
4
|
> and score <=50
|
5
5
|
この条件をはずすと下みたいにただデータが横に並んだデータが出てくるはずです
|
6
|
+
|
6
7
|
id name comment created_at kyouka_id ky_names c_id seito_id sckyouka_id score
|
7
8
|
11 赤井 あかい 0000-00-00 00:00:00 1 国語 1 11 1 50
|
8
9
|
22 青葉 あおば 0000-00-00 00:00:00 1 国語 2 22 1 80
|
@@ -11,7 +12,7 @@
|
|
11
12
|
:
|
12
13
|
:
|
13
14
|
提示されたSQLですとこのデータの中から
|
14
|
-
教科は社会かつ英語で点数が50点以下かつ50点以上の条件をすべて満たすデータを探
|
15
|
+
教科は社会かつ英語で点数が50点以下かつ50点以上の条件を横1列のデータですべて満たすデータを探します
|
15
16
|
なので見つかるはずはありません
|
16
17
|
|
17
18
|
かくならこんな感じで社会用と英語用でt_scoreを2回結合する必要があります
|
@@ -32,6 +33,6 @@
|
|
32
33
|
```
|
33
34
|
|
34
35
|
ついでですがFROM句でテーブルに別名を書いて
|
35
|
-
WHERE句やSELECT句では、どのテーブルのカラム
|
36
|
+
WHERE句やSELECT句では、どのテーブルのカラムかを意識して書くようにしましょう
|
36
37
|
でないと今回のようにSQLを書くときかぶらないように
|
37
38
|
カラム名を何テーブルのidとかにしなければならなくなります
|