今回の質問は前回の質問を受けて、コメントから派生した問題なので、あたらに質問を立ててもらったものなので、今回は今回でまた、別の指摘が出ちゃいましたが…
手元で作成したDBがSQLITE なのでMySQLとは型とか変わって来ますが、以下のような感じです。
ただこの例の場合、扱っているのが「休日」なので、week
テーブまでは不要だと思います。
「店舗」と「取扱商品」のような場合だと「商品マスタ」が必要になります。
sql
1CREATE TABLE `shop` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT, `name` TEXT );
2CREATE TABLE `shop_holiday` ( `shop_id` INTEGER, `holiday` INTEGER );
3CREATE TABLE `week` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT, `name` INTEGER );
sql
1select
2 S.name as shop_name
3 , group_concat(W.name) as holidays
4from
5 shop S
6left join shop_holiday SH
7 on S.id = SH.shop_id
8left join week W
9 on SH.holiday = W.id
10where
11 W.id = '0'
12group by
13 S.id
##shop
id | name |
---|
1 | 山田商店 |
2 | スーパータナカ |
4 | 青木ストア |
##shop_holiday
##week