努力正确连接多个表以接收正确的数据

Posted

技术标签:

【中文标题】努力正确连接多个表以接收正确的数据【英文标题】:Struggling to join multiple tables correctly to receive correct data 【发布时间】:2011-09-09 23:19:45 【问题描述】:

情况:

我有 mysql 5。我正在尝试生成公司报告和一些利润细节。

每家公司都有我们为他们做的工作。 每个工作都有涉及该工作的工作。 每件作品都有一个任务类型

我要检索的内容:

我想知道每家公司从所有工作中获得的总利润 每家公司所有工作的总成本 每个公司在所有工作上花费的总时间 - 按工作类型分隔

公司表:

身份证 姓名

工作表:

身份证 company_id 预算 费用

工作台:

身份证 job_id type_id 开始时间 结束时间

类型表:

身份证 姓名 hourly_rate

关系:

公司 ------ 类型

谢谢!

【问题讨论】:

【参考方案1】:

前两个可以通过这个查询找到:

select
  c.name as company_name,
  sum(hour(end_time) - hour(start_time)) * hourly_rate - sum(costs) as total_profit,
  sum(costs) as total_costs
from companies c
join jobs j on j.company_id = c.id
join work w on w.job_id = j.id
join types t on t.id = w.type_id
group by 1;

可以通过这个查询找到最后一个:

select
  c.name as company_name,
  t.name as work_type,
  sum(hour(end_time) - hour(start_time)) as total_hours
from companies c
join jobs j on j.company_id = c.id
join work w on w.job_id = j.id
join types t on t.id = w.type_id
group by 1, 2;

【讨论】:

谢谢,不能再要求更多了! 刚刚意识到第二个工作正常,但第一个产生的总成本值太高了!有什么想法吗?

以上是关于努力正确连接多个表以接收正确的数据的主要内容,如果未能解决你的问题,请参考以下文章

正确连接 2 个表

如何正确解析 JSON 表以用于 Value 函数?

Kafka Connect:一个接收器连接器,用于从一个主题写入多个表

“操作无法完成。对等方重置连接。”在 iOS 上使用 NSURLConnection

如何正确使用连接/子查询从多个表中选择数据? (PHP-MySQL)

远程协助开发总结