#sql #sql-server
#sql #sql-сервер
Вопрос:
По сути, мне нужно получить список заголовков campaign, которые имеют более 2 вхождений в StaffOnGrade, и перечислить заголовок CampaignTitle, staffNo, у которых рейтинг оценки выше 2
Таблица 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
Надеюсь, это имеет смысл!
Ответ №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