teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

5

推敲

2018/11/26 07:28

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -11,8 +11,7 @@
11
11
  on map.cat_id=map.id
12
12
  where shp.id in (select shp_id from t_shop_map where cat_id=2)
13
13
  ```
14
- ただ、`カテゴリー`を条件にした上で、店舗一覧にカテゴリーを表示するという事なので、
15
- 店舗は1件で表示するような場合には工夫が必要です。
14
+ ただ、店舗一覧にカテゴリーを表示するという事なので、店舗は1件で表示するような場合には工夫が必要です。
16
15
  ```SQL
17
16
  select shp.name as shop_name, group_concat(cat.name) as category_name
18
17
  from t_shop shp

4

修正

2018/11/26 07:28

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -14,7 +14,7 @@
14
14
  ただ、`カテゴリー`を条件にした上で、店舗一覧にカテゴリーを表示するという事なので、
15
15
  店舗は1件で表示するような場合には工夫が必要です。
16
16
  ```SQL
17
- select shp.name as shop_name, cat.name as category_name
17
+ select shp.name as shop_name, group_concat(cat.name) as category_name
18
18
  from t_shop shp
19
19
  left join t_shop_map map
20
20
  on shp.id=map.shop_id

3

推敲

2018/11/26 07:27

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -12,7 +12,7 @@
12
12
  where shp.id in (select shp_id from t_shop_map where cat_id=2)
13
13
  ```
14
14
  ただ、`カテゴリー`を条件にした上で、店舗一覧にカテゴリーを表示するという事なので、
15
- カテゴリーの条が無かったり複数になる場合には工夫が必要です。
15
+ 店舗は1で表示すような場合には工夫が必要です。
16
16
  ```SQL
17
17
  select shp.name as shop_name, cat.name as category_name
18
18
  from t_shop shp

2

推敲

2018/11/26 07:26

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -1,5 +1,6 @@
1
1
  > ・カテゴリーが「カテゴリー2」である店舗の一覧を表示(例として「カテゴリー2」とします)
2
2
  > ・各店舗ごとにその店舗が属するカテゴリーも表示する
3
+
3
4
  こんな感じ
4
5
  ```SQL
5
6
  select shp.name as shop_name, cat.name as category_name

1

追記

2018/11/26 07:25

投稿

sazi
sazi

スコア25430

answer CHANGED
@@ -1,3 +1,5 @@
1
+ > ・カテゴリーが「カテゴリー2」である店舗の一覧を表示(例として「カテゴリー2」とします)
2
+ > ・各店舗ごとにその店舗が属するカテゴリーも表示する
1
3
  こんな感じ
2
4
  ```SQL
3
5
  select shp.name as shop_name, cat.name as category_name
@@ -7,4 +9,16 @@
7
9
  left join t_category cat
8
10
  on map.cat_id=map.id
9
11
  where shp.id in (select shp_id from t_shop_map where cat_id=2)
12
+ ```
13
+ ただ、`カテゴリー`を条件にした上で、店舗一覧にカテゴリーを表示するという事なので、
14
+ カテゴリーの条件が無かったり複数になる場合には工夫が必要です。
15
+ ```SQL
16
+ select shp.name as shop_name, cat.name as category_name
17
+ from t_shop shp
18
+ left join t_shop_map map
19
+ on shp.id=map.shop_id
20
+ left join t_category cat
21
+ on map.cat_id=map.id
22
+ where shp.id in (select shp_id from t_shop_map where cat_id=2)
23
+ group by shp.name
10
24
  ```