回答編集履歴

6

s

2016/07/20 13:58

投稿

damalnylpo
damalnylpo

スコア53

test CHANGED
@@ -14,8 +14,6 @@
14
14
 
15
15
  とすることでいけるはずです。
16
16
 
17
- ちなみに勝手にceremonies.idはプライマリと仮定してます
18
-
19
17
 
20
18
 
21
19
  ちょっと個人的にinner joinはあまり使わないので怪しければ

5

追記

2016/07/20 13:58

投稿

damalnylpo
damalnylpo

スコア53

test CHANGED
@@ -14,6 +14,8 @@
14
14
 
15
15
  とすることでいけるはずです。
16
16
 
17
+ ちなみに勝手にceremonies.idはプライマリと仮定してます
18
+
17
19
 
18
20
 
19
21
  ちょっと個人的にinner joinはあまり使わないので怪しければ

4

修正

2016/07/20 13:43

投稿

damalnylpo
damalnylpo

スコア53

test CHANGED
@@ -13,3 +13,11 @@
13
13
  select * from ceremonies INNER JOIN ceremonies ON ceremonies.id = categories.ceremony_id;
14
14
 
15
15
  とすることでいけるはずです。
16
+
17
+
18
+
19
+ ちょっと個人的にinner joinはあまり使わないので怪しければ
20
+
21
+ select * from ceremonies ce,categories ca WHERE ce.id = ca.ceremony_id;
22
+
23
+ で期待した結果が取得できると思います。

3

文法の修正

2016/07/20 12:49

投稿

damalnylpo
damalnylpo

スコア53

test CHANGED
@@ -1,6 +1,8 @@
1
- inner joinは=で結ぶ際、基をどちらを置くかで結果が変わります。
1
+ inner joinは=で結ぶ際、基本となるテーブルをどちらを置くかで結果が変わります。
2
2
 
3
+ その状態ではcategoriesテーブルを基点に
4
+
3
- その状態ではcategoriesテーブルのceremony_idに一致するceremoniesテーブルを検索してしまい
5
+ categoriesテーブルのceremony_idに一致するceremoniesテーブルを検索してしまい
4
6
 
5
7
  どちらかというと
6
8
 

2

修正

2016/07/20 12:46

投稿

damalnylpo
damalnylpo

スコア53

test CHANGED
@@ -1,4 +1,4 @@
1
- inner joinは=で結ぶ際、左右にどちらを置くかで結果が変わります。
1
+ inner joinは=で結ぶ際、基点をどちらを置くかで結果が変わります。
2
2
 
3
3
  その状態ではcategoriesテーブルのceremony_idに一致するceremoniesテーブルを検索してしまい
4
4
 
@@ -8,6 +8,6 @@
8
8
 
9
9
  ceremoniesを基点としたい場合は
10
10
 
11
- select * from ceremonies INNER JOIN categories ON ceremonies.id = categories.ceremony_id;
11
+ select * from ceremonies INNER JOIN ceremonies ON ceremonies.id = categories.ceremony_id;
12
12
 
13
13
  とすることでいけるはずです。

1

追加修正

2016/07/20 12:44

投稿

damalnylpo
damalnylpo

スコア53

test CHANGED
@@ -1,4 +1,10 @@
1
1
  inner joinは=で結ぶ際、左右にどちらを置くかで結果が変わります。
2
+
3
+ その状態ではcategoriesテーブルのceremony_idに一致するceremoniesテーブルを検索してしまい
4
+
5
+ どちらかというと
6
+
7
+ select * from categoriesに近い結果になります。
2
8
 
3
9
  ceremoniesを基点としたい場合は
4
10