当前位置: 首页 > 面试题库 >

SQL JOIN WITH OR条件

步衡
2023-03-14
问题内容

我有一个表 Cases ,它使用了来自 Workers 的三列引用。还有一个工人所属的餐桌 公司

以下是架构:

Cases [ CaseID, CaseNumber, Worker1, Worker2, Worker3 ] 
Workers [ WorkerID, ComapnyID]
Company [CompanyID, CompanyName]

现在我需要每个公司的案件计数。那么是否有可能与worker建立连接并映射所有 Worker1Worker2Worker3
列?有更好的选择和性能影响吗?

注意:一家公司的两名工人可以处理单个案件,或者所有工人可以来自不同的公司。


问题答案:

尽管联接条件通常是相等性检查,但是它们没有什么特别的-任何有效的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


 类似资料:
  • 问题内容: 我正在尝试将其编译。.我有一个带有firstname和lastname字段的表,并且我有一个字符串,例如“ Bob Jones”或“ Bob Michael Jones”等。 事实是,例如我姓鲍勃,姓迈克尔·琼斯 所以我想 但是它说未知列“ firstlast” ..有人可以帮助吗? 问题答案: 您提供的别名用于查询的输出-它们本身在查询中不可用。 您可以重复表达: 或包装查询

  • s-if 通过 s-if 指令,我们可以为元素指定条件。当条件成立时元素存在,当条件不成立时元素不存在。 提示:当不满足条件时,San 会将元素从当前页面中移除,而不是隐藏。 <span s-if="isOK">Hello San!</span> s-if 指令的值可以是任何类型的表达式。 <span s-if="isReady && isActive">Hello San!</span> 提

  • 条件操作符 对于依赖于特定条件的用例,这些操作符可以做到这一点。 内容 defaultIfEmpty every

  • 我需要 在Hibernate条件中。由于这个问题,我知道如何将分组结果作为的列表: 我不知道如何添加HAVING子句。我想,它类似于,但是我如何引用计数呢? 有没有办法在查询中引用结果元组元素?

  • 以下是在MariaDB中使用CRUD 操作的条件列表。条件通常与语句一起使用。参考下表列出的一部分条件 - 编号 条件 描述 1 在满足个以上的条件时使用。 2 在满足任何一个条件时使用。 3 当条件满足时使用它。 4 在子句中使用简单的模式匹配(通配符)。 5 在子句中使用正则表达式匹配 6 它用作多个条件的替代 7 它用来否定一个条件 8 它用于测试一个值。 9 它用来测试一个非值。 10 它

  • 条件熵 参考 https://zh.wikipedia.org/wiki/条件熵 假设有随机变量$$(X,Y)$$,其联合概率分布为:$$P(X=x_i, Y=y_i)=p_{ij}$$ $$P(X=x_i, Y=y_j)=p_{ij}$$,$$i=1,2,...,n; j=1,2,...,m$$ 条件熵描述了在已知随机变量$$X$$的值的前提下,随机变量$$Y$$ 的信息熵还有多少。同其它的信息

  • 条件 条件提供了语言的刘控制,否则就是纯粹的静态语言。提供的条件有导入、混入、函数以及更多。下面的例子纯粹示例,并不是使用建议。 if / else if / else 这没什么好说的,跟一般的语言一致,if表达式满足(true)的时候执行后面语句块,否则,继续后面的else if或else. 下面这个例子,根据overload的条件,决定是使用padding还是margin. overload-

  • 在编程时,我们遇到一些场景,我们必须从给定的路径集中选择路径。 在这种情况下,我们需要条件语句。 条件语句有助于我们做出决策并执行正确的操作。 以下是大多数编程语言中的典型决策结构的一般形式。 JavaScript支持if语句(包括其变体)和switch语句。 除了JavaScript中提供的条件之外,CoffeeScript还包括unless声明,否定if,甚至更多。 以下是CoffeeScri