我有一個表,其中有類似於年度歌曲排行榜。它包含了2000首歌曲和它們每年地位,從1999年到2014年比較兩個SQL輸出
我必須證明已在圖表明年
表包含SONGID(PK,FK水漲船高所有歌曲,int,not null)LISTYEAR(PK,int,not null)和POSITION(int,not null)
目標是編寫一個給定參數的存儲過程,一年與(自生成的)明年將顯示已經上漲的歌曲。
例如:
的用戶通過對可變@firstyear到存儲過程的值「2012」。
隨後服務器採取的變量,並增加了一個把它放在下一個變量@secondyear,然後應該是當然的2013。
應該有隻有一個表的輸出,它應該有@firstyear「SONGNAME「位置」和「在@secondyear位置」作爲標題。
值「在@secondyear位置」應該總是比「在@firstyear位置」更高,因爲它只有表明上升的歌曲。
我該如何做到這一點?在mssql中是否有方法來比較1個表中的值?
編輯:
愚蠢的我不要你提供示例數據:
http://puu.sh/iihTc/4518dbcea9.png < - 數據庫圖表
http://puu.sh/iii2r/a04d639f2c.png < - 這三個表
輸出在一些示例數據例如將在評論
注ŧ帽子只有歌曲可以輸出其在排名
不完全清楚,顯示一些示例數據和預期輸出 –
提供示例數據和預期輸出。 –
我不認爲你需要SecondYear參數。從我所能理解的問題中你將不得不爲你的@firstyear參數創建一個臨時表,然後你將Atfirstyear設置爲你感興趣的年份。加入主要查詢的臨時數據,然後這些年份將循環執行它們的設置。我可以發佈一個示例答案,我沒有,因爲我不熟悉mssql。 – SQLUser44