Slava Rozhnev, Да так и вправду подсчитывает. Я значит делал правильный запрос только не делал LEFT JOIN поэтому и была ошибка. Но только не пойму почему в конечном результате все выводится правильно кроме Starbucks? Должно быть Starbucks 4.73 , а сейчас выдает Starbucks 3.94.
Slava Rozhnev, Здравствуйте, как и обещал я пожертвовал на чашечку кофе. Но я вынужден к вам обратиться еще раз. Starbucks Los Angeles2 имеет значение null а для получения среднеарифметического значения по филиалам его нужно перевести из null в 0. Я так понимаю нужно использовать метод COALESCE (rate,0), или другой запрос?
Здравствуйте, извините что снова к вам обращаюсь за помощью. Вы недавно помогали мне с sql задачей но там немного не корректный запрос, так как мне тогда не полностью задание объяснили.
Вот как должен быть выполнен запрос
Здесь показано как вручную выполнен запрос. Если вас не затруднит то помогите мне пожалуйста, так как sql для меня дается к сожалению с трудом.
то выскакивает та же проблема, а если те варианты которые вы ниже показали то там подсвечивает как синтаксическая ошибка. Но в любом случае спасибо за помощь. Я еще пересмотрю свой код, может там где то ошибка у меня.
Вот какой должен получиться результат , а это скрипт базы. На данный момент у меня получается только получить среднее по ревью и еще какие то результаты но только не то что нужно.
CREATE SCHEMA IF NOT EXISTS EstablishmentHomeWork;
USE EstablishmentHomeWork;
CREATE TABLE IF NOT EXISTS Establishment
(
id BIGINT PRIMARY KEY AUTO_INCREMENT NOT NULL,
name VARCHAR(100) NOT NULL,
is_chain BOOLEAN default false,
chain_id BIGINT,
FOREIGN KEY (chain_id)
REFERENCES Establishment (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE IF NOT EXISTS Review
(
id BIGINT PRIMARY KEY AUTO_INCREMENT NOT NULL,
establishment_id BIGINT NOT NULL,
FOREIGN KEY (establishment_id)
REFERENCES Establishment (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE IF NOT EXISTS Rate
(
id BIGINT PRIMARY KEY AUTO_INCREMENT NOT NULL,
rate DOUBLE,
type VARCHAR(100) NOT NULL,
review_id BIGINT NOT NULL,
FOREIGN KEY (review_id)
REFERENCES Review (id)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);