У меня есть несколько таблиц.1.регион 2. ресторан 3.restaurant_itmes
регион
id | name
................
1 | NY
2 | Paris
3 | London
ресторан
id | name | region_id
.........................
1 | KFC | 1
2 | McDonals'| 1
3 | La res | 2
4 | Queen's | 3
restaurant_items
id | name | restaurant_id | pro_pic | featured_pic
...................................................
1 |Pizza |3 | null | defaut.jpg
2 |Pizza |4 | pizza.jpg | defaut.jpg
3 |Burger|1 | burger.jpg| burger.jpg
4 |Burger|2 | burger.jpg| burger.jpg
5 |Burger|3 | null | burger.jpg
6 |Burger|4 | null | default.jpg
7 |Donat |2 | null | default.jpg
8 |Fries |2 | null | default.jpg
Я хочу сгенерировать запрос для заполнения этой таблицы
region |Number of restaurants |total items | items_with_pro_pic | items_with_featured_pic
............................................................................................
NY | 2 | 4 | 2 | 2
Paris | 1 | 2 | 0 | 1
London | 1 | 2 | 1 | 0
То, что я сейчас сделал, это
SELECT region.name, count(restaurant_items.id) as total_items, count(restaurant_items.pro_pic)
INNER JOIN restaurant on restaurant_items.restaurant_id = restaurant.id
INNER JOIN region on restaurant.region_id = region.id
GROUP BY region.name;
Здесь ямогу получить items_with_pro_pic по кол-ву (restaurant_items.pro_pic), но я не могу сделать это для items_with_featured_pic, потому что featured_pic не имеет нулевого значения, если нет значения по умолчанию. default.jpg.Поэтому я попробовал count(restaurant_items.featured_pic != 'defaut.jpg')
, но у меня это не работает.
И как я могу получить количество ресторанов, поскольку оно не входит в таблицу restaurant_items?
Как мне этого добиться?двое используют MySQL?