作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为案例的表格,其中三列使用 worker 的引用。还有一张 worker 所属的表Company。
以下是架构:
Cases [ CaseID, CaseNumber, Worker1, Worker2, Worker3 ]
Workers [ WorkerID, ComapnyID]
Company [CompanyID, CompanyName]
现在我需要每家公司的案例数。那么是否可以与工作人员进行一次联接并映射所有 Worker1、Worker2 和 Worker3 列?有没有更好的选择和性能影响?
注意:一个公司的两名 worker 可以处理一个案例,也可以所有 worker 都来自不同的公司。
最佳答案
虽然连接条件通常是相等性检查,但它们没有什么特别之处 - 任何有效的 SQL 条件都可以用于执行连接。在您的情况下,IN
条件似乎合适:
SELECT CompanyName, COUNT(DISTINCT CaseID)
FROM Company co
JOIN Workers w ON co.CompanyId = w.CompanyId
JOIN Cases ca ON w.WorkerId IN (ca.Worker1, ca.Worker2, ca.Worker3)
GROUP BY CompanyName
关于SQL JOIN AND OR 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34194658/
我是一名优秀的程序员,十分优秀!