【发布时间】:2021-09-22 23:40:15
【问题描述】:
表:用户
| id | compId |
|---|---|
| 1 | comp1 |
| 2 | comp1 |
表:公司
| id | name |
|---|---|
| comp1 | coke |
| comp2 | pepsi |
需要一个 MYSQL 查询,只有当它有一个或多个用户时,它才应该获取公司记录,当传递一个公司 ID 时。我将在公司表上有其他 where 条件。
这可以通过join来实现吗?
示例 1:查询(comp1)结果:可乐(至少存在一个用户)
示例2:查询(comp2)结果:没有记录(因为不存在属于comp2公司的用户)
【问题讨论】:
-
我试过 where exists (select * from user u where u.compId = id),但我还有其他 where 条件会破坏查询。
-
请通过编辑为您的问题添加所有说明。到目前为止,您尚未在问题中提及任何其他条件
-
其实是一个很大的查询,有很多其他的表连接,我只是想知道这是否可以通过连接条件而不是使用whereexists子句来实现。