Я не могу понять, как записать эти 2 запроса в созданных таблицах. Эти два запроса, которые я пытаюсь написать вНаписание SQL-запроса, который получает информацию из трех разных таблиц
Find users that have reviewed both shops and restaurants.
Find users that reviewed businesses, but not shops or restaurants.
Таблицы, которые я использую в
reviews;
+-------------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------+------+-----+---------+-------+
| business_id | int(11) | NO | PRI | NULL | |
| user_id | int(11) | NO | PRI | NULL | |
| review_id | int(11) | NO | PRI | NULL | |
| review_date | date | YES | | NULL | |
| star_rating | int(1) | YES | | 1 |
businesses
+--------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| business_id | int(11) | NO | PRI | NULL | |
| name | varchar(50) | YES | | NULL | |
| city | varchar(40) | YES | | NULL | |
| state | varchar(20) | YES | | NULL | |
| full_address | varchar(120) | YES | | NULL | |
users;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| user_id | int(11) | NO | PRI | NULL | |
| name | varchar(50) | YES | | NULL | |
| user_since | date | YES | | NULL
explain is_a_restaurant;
+--------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| business_id | int(11) | NO | PRI | NULL | |
| cuisine_type | varchar(20) | YES | | NULL | |
| total_seats | int(11) | YES | | 1 | |
+--------------+-------------+------+-----+---------+-------+
explain is_a_shop;
+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| business_id | int(11) | NO | PRI | NULL | |
| shop_type | varchar(50) | YES | | NULL | |
Я честно не знаю, где даже начать. Я знаю, что собираюсь присоединиться к бизнесу с идентификатором бизнеса, но я не знаю, как я собираюсь найти людей, которые рассматривали как магазины, так и рестораны. может ли кто-нибудь помочь?
EDIT: То, что я пытался
Для первого запроса: Найти пользователей, которые оставили отзывы как магазины и рестораны.
SELECT b.business_id
FROM is_a_shop b
JOIN reviews r
ON r.business_id = b.business_id
JOIN is_a_restaurant k
ON r.business_id = k.business_id;
Идите первым. В вашем учебном пособии/учебнике рассказывается, с чего начать. –
http://www.sitepoint.com/understanding-sql-joins-mysql-database/ – BK435
Im пытается в моем sql, и я продолжаю получать ошибки –