小编典典

MSSQL:选择在另一个表中出现两次以上的行

sql

基本上,我需要获取在StaffOnGrade中出现2次以上的CampaignTitle的列表,并列出等级高于2的CampaignTitle,StaffNo

WorksOn表:

CampaignTitle      | StaffNo
-------------------|--------
ADVENTURE WORLD    | 11
AIR CANADA         | 11
CARNIVAL CRUISES   | 3
CARNIVAL CRUISES   | 8
CARNIVAL CRUISES   | 9
FLIGHT CENTRE      | 7
FLIGHT CENTRE      | 10
HARVEYWORLD TRAVEL | 4
LAST MINUTE        | 4
PRINCESS CRUISES   | 3
PRINCESS CRUISES   | 5
PRINCESS CRUISES   | 6
PRINCESS CRUISES   | 7
PRINCESS CRUISES   | 11
TRAVELSCENE        | 10
VALUETOURS AUST    | 3
VIRGIN AUSTRALIA   | 10

StaffOnGrade表:

Grade | StaffNo
------|--------
1     | 2
2     | 11
3     | 3
3     | 6
3     | 7
4     | 4
4     | 8
4     | 10
5     | 5
5     | 9

以下两个查询实现了各个部分,但我需要将其作为一个查询结果集返回。

SELECT campaigntitle, COUNT (CAMPAIGNTITLE) As [count]
FROM WORKSON
GROUP BY CAMPAIGNTITLE
HAVING COUNT(CAMPAIGNTITLE) >2

SELECT STAFFNO, GRADE
FROM STAFFONGRADE
WHERE GRADE > 2

希望这是有道理的!


阅读 159

收藏
2021-03-23

共1个答案

小编典典

SELECT campaigntitle, StaffNo, COUNT (CAMPAIGNTITLE) As [count]
  FROM WORKSON
 WHERE StaffNo IN
       (SELECT STAFFNO
          FROM STAFFONGRADE
         WHERE GRADE > 2)
 GROUP BY CAMPAIGNTITLE
HAVING COUNT(CAMPAIGNTITLE) >2
2021-03-23