2016-08-26 39 views
1

SQLのプロジェクトのセットの2番目の最新の日付を返そうとしていますが、エラーが発生しました '選択リストに1つの式しか指定できません。サブクエリはEXISTSでは導入されていません。 ここに私のコードです:2番目に最近の日付を検索するジョーンズで

SELECT ProjectId, max(CreatedDateTime) 
    FROM NTNote.dbo.nProjectReference P          
    INNER JOIN NTNote.dbo.nJournal J         
     ON J.JournalID = P.JournalID 
     Where CreatedDateTime < (SELECT max(CreatedDateTime), projectid 
     FROM NTNote.dbo.nProjectReference P         
      INNER JOIN NTNote.dbo.nJournal J         
      ON J.JournalID = P.JournalID 
      Group by ProjectId) 
     Group by ProjectId 

私は助けていただければ幸いです!

答えて

3

希望の出力(SQLサーバー)のために以下のコードを使用してください。

with cte_grp 
as 
(SELECT ProjectId,CreatedDateTime,ROW_NUMBER() OVER(PARTITION BY ProjectId ORDER BY CreatedDateTime desc) RNo 
    FROM NTNote.dbo.nProjectReference P          
    INNER JOIN NTNote.dbo.nJournal J         
     ON J.JournalID = P.JournalID) 

     SELECT * 
     FROM cte_grp 
     WHERE RNO=2 
+0

完璧に動作します。ありがとう! – reggie86

0

あなたは

Row_Number() over (partition by ProjectId order by CreatedDateTime desc) as rownum 

を使用して出力を得るために、述語として2を使用することができます。

関連する問題