Я очень плохо знаком с mysql База данных, и мне нужно создать 2 сложных представления, используя таблицы ниже
[ 2
Ниже приведено то, что я пробовал до сих пор, но все еще не могу получить требуемый вид. Я создал новую таблицу для хранения информации за квартал. Кроме того, я создал триггер, который обновляет
year_quarter_period при новой вставке в таблицу расписания
CREATE TABLE `year_quarter_period` (
`quarter` SMALLINT PRIMARY KEY AUTO_INCREMENT,
`from_date` timestamp,
`to_date` timestamp,
`timesheet_id` int
);
ALTER TABLE `timesheet` ADD FOREIGN KEY (`email_id`) REFERENCES `resource` (`email`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `timesheet` ADD FOREIGN KEY (`project_name`) REFERENCES `project` (`name`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `revenue` ADD FOREIGN KEY (`project_name`) REFERENCES `project` (`name`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `resource_cost` ADD FOREIGN KEY (`email_id`) REFERENCES `resource` (`email`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `year_quarter_period` ADD FOREIGN KEY (`timesheet_id`) REFERENCES `timesheet` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION;
Это то, что я пытался создать первый взгляд
SELECT project.name as Project,
year_quarter_period.quarter as Quarter,
resource.role as Role ,
timesheet.hours as Efforts
FROM project as project,
year_quarter_period as year_quarter_period,
resource as resource,
timesheet as timesheet
WHERE resource.role = (SELECT role from resource)
AND year_quarter_period.quarter = (SELECT quarter from year_quarter_period)
Но я получаю следующий результат, который явно неверен
Я застрял в этом с прошлого 1 день. Может ли кто-нибудь помочь мне в этом