2016-11-07 2 views
1

Таблица 1 - tblCompanion:Как я могу получить 3 наиболее часто появляются спутники здесь

companionid | companionname | who played 
--------------------------------------------------- 
1   | River Song  | Alex Kingston 
2   | Rory Williams | Arthur Darvill 
3   | Wilfred Mott  | Bernard Cribbins 
4   | Rose Tyler  | Billie Piper 
5   | Adam Mitchell | Bruno Langley 
6   | Donna Noble  | Catherine Tate 
7   | Jackson Lake  | David Morrissey 
8   | Sarah Jane Smith | Elisabeth Sladen 
.   | .    | . 
.   | .    | . 
.   | .    | . 

Таблица 2 - tblEpisodeCompanion:

Episodecompanionid | EpisodeId | companionid 
--------------------------------------------- 
1     | 1   | 4 
2     | 2   | 4 
3     | 3   | 4 
4     | 4   | 4 
5     | 5   | 4 
6     | 6   | 4 
7     | 7   | 4 
8     | 8   | 6 
9     | 9   | 6 
10     | 10  | 6 
11     | 11  | 1 
12     | 12  | 1 
13     | 13  | 2 
.     | .   | . 
.     | .   | . 
.     | .   | . 

Из этих двух таблиц Я хочу, чтобы эти результаты:

No | companianName | Episodes 
----------------------------- 
1 | Amy Pond  | 33 
2 | Rose Tyler | 32 
3 | Rory Williams | 25 

Я пробовал это часами, но не могу получить результат, как указано выше, , пожалуйста, объясните мне, как это решить.

+3

Что вы пробовали? Это похоже на довольно простой запрос 'JOIN' и' GROUP BY'. –

ответ

0

Этот запрос должен сделать это для вас:

SELECT TOP 3 
    tblCompanion.companionname, 
    Count(*) AS Episodes 
FROM tblEpisodeCompanion 
    INNER JOIN tblCompanion 
     ON tblEpisodeCompanion.companionid = tblCompanion.companionid 
GROUP BY tblCompanion.companionname 
ORDER BY Count(*) DESC 
Смежные вопросы