【发布时间】:2016-12-17 05:18:33
【问题描述】:
我加入了 3 个表来获取我想要的数据,company_details、officer_details 和 company_officer 加入了这两个表。我现在的查询需要为超过 2 家公司工作且尚未辞职的官员。
我想添加到此查询中,以仅获取拥有超过 1 名员工的公司(在应用所有之前的要求之后)。 S
公司详情
Officer_Details
SELECT
CD.Company_ID,
CD.Company_Name,
CD.Company_Index,
OD.Officer_ID,
OD.Officer_Name,
CO.Officer_Role
FROM
Company_Details CD
INNER JOIN Company_Officer CO
ON CD.Company_ID = CO.Company_ID
INNER JOIN Officer_Details OD
ON CO.Officer_ID = OD.Officer_ID
WHERE CD.Company_Index<>'' AND
CO.Resigned_On='' AND
CO.Officer_ID IN
( SELECT CO2.officer_id
FROM Company_Officer CO2
INNER JOIN Company_Details CD2
ON CO2.Company_ID = CD2.Company_ID
WHERE CO2.Resigned_On='' AND CD2.Company_Index<>''
GROUP BY CO2.officer_id
HAVING Count( DISTINCT CO2.company_id ) > 1
)
ORDER BY `CD`.`Company_Name` ASC, `CD`.`Company_ID` ASC;
在下图中,您可以看到我当前查询的结果。我想省略突出显示的 2 行,因为您可以看到这些公司只有一名员工,我想摆脱这个只有一名员工的选择公司。
【问题讨论】: