在SQL中使用计数函数,但传递了一个查询?

我想做这样的事情。

select
    EmployeeID e,
    SupervisorID s
from
    ReportingStructure
where
    count(select SupervisorID from ReportingStructure where EmployeeID = e) > 1

找出所有拥有多个主管的员工的ID和主管ID。但我得到一个语法错误。

“select “关键字附近的语法错误。

‘)’附近的语法不正确。

我怎样才能得到这些数据?

解决方案:

你可以使用 exists:

select EmployeeID, SupervisorID
from ReportingStructure rs
where exists (select 1   
              from ReportingStructure rs2
              where rs2.EmployeeID = rs.EmployeeID and
                    rs2.SupervisorID <> rs.SupervisorID
             );

如果你想让上级在一排,你可以使用 string_agg():

select EmployeeID, string_agg(SupervisorID, ',')
from ReportingStructure
group by EmployeeID
having count(*) = 2;

给TA打赏
共{{data.count}}人
人已打赏
解决方案

如何在acumatica中使用put上传照片。

2022-5-14 9:00:14

解决方案

无法获得验证数据的文件。

2022-5-14 9:00:16

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索