2017-06-17 5 views
0

これは私のコード 私はpositie、verloop、titel、naam、jaarを検索したい。 とverloopは選択した年の位置と年の違い特定の列を取得したいが、行の数が正しくない

ALTER PROCEDURE [dbo].[GetTop10] 
    @Jaartal int, 
    @above int 
AS 
BEGIN 

SET NOCOUNT ON; 

SELECT NieuwePositie.positie, OudePositie.positie - NieuwePositie.positie 
as verloop, titel, naam, jaar 
FROM Lijst OudePositie 
    JOIN Song ON OudePositie.songid=Song.songid 
    JOIN Artiest ON Song.artiestid=Artiest.artiestid 
    JOIN (SELECT songid, positie 
     FROM Lijst 
     where top2000jaar = @jaartal 
     GROUP BY songid, positie) AS NieuwePositie ON NieuwePositie.songid 
     = OudePositie.songid 

where top2000jaar = @jaartal -1 
and (NieuwePositie.positie > @above) 
ORDER BY positie 
END 
go 
execute GetTop10'2015','0' 
go 

前に、しかし、私は唯一の2000行 http://prntscr.com/fkw37v

+0

おそらく 'join 'ではなく' left join'が必要です。データについてもっと知っていなければそれ以上のことは言えません。 –

答えて

0

から1703を取得することは、これらの表および更新統計上のすべてのインデックスを再構築するようにしてください。

関連する問題