sql >> データベース >  >> RDS >> Sqlserver

2 つのテーブルを結合し、右側のテーブルの最新の値のみを使用します

    SQL Server 2005 以降の場合

    ;WITH m AS 
    (
       SELECT Partnum, Formula, RevisionNum,
         rn = ROW_NUMBER() OVER (PARTITION BY PartNum ORDER BY 
           CASE WHEN RevisionNum ='New' THEN 1 ELSE 2 END)
         FROM dbo.Material
    )
    SELECT p.PartNum, m.Formula, m.RevisionNum
    FROM dbo.Parts AS p
    INNER JOIN m ON p.PartNum = m.PartNum
    WHERE m.rn = 1;
      

    好奇心旺盛ですが、リビジョンが 26 を超える場合はどうすればよいでしょうか (たとえば、Z の後に何が来るか)。 )?



    1. 現在の日付に従ってデータを並べ替える

    2. 私のアプリにデータベースを含める方法

    3. PostgreSQLで文字列内の正規表現の一致の位置を取得するにはどうすればよいですか?

    4. PHP:キリル文字(ロシア語)の文字が疑問符としてエコーしています。なんで?