mysql - 使用来自多个表的数据创建复杂的 mysql 视图
问题描述
我对 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 天以来,我一直坚持这一点。有人可以帮助我吗
解决方案
推荐阅读
- scala - 如何使用 spark 和 scala 的并行查询从 onComplete Success 案例中返回值以构建 DataFrame?
- java - 如何使用 camera2 和 mediacodec api 录制和保存视频?
- c++ - 无符号整数会升级为有符号吗?表达式的类型是什么 (uint16_t)-1 * (uint16_t)-1
- upgrade - 如何使用 ceph-deploy 执行小升级?
- c++ - 为 C++ 对的映射实现 map.find() 时出错
- python - 错误 pip 不适用于具有不同 python 版本的代理
- javascript - 为什么不更新我在子组件中传递的父组件中的值并更新使用自定义事件 $emit Vue 3?
- php - 用 fopen 创建的 PHP 文件消失了
- aws-lambda - Lambda 的参数存储与加密环境变量
- c - 什么是 TCHAR,它与 WCHAR 有何不同?