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

レコードがその前のレコードと等しい場合の SQL

    ;WITH MyCTE AS
    (
        SELECT *, 
               ROW_NUMBER()OVER (ORDER BY TextString) AS rn
        FROM   Table1
    )
    SELECT T1.TextString AS T1String,
           T2.TextString AS T2String,
           CASE WHEN T1.TextString = T2.TextString THEN T1.ID ELSE '' END AS NewCode,
           CASE WHEN T1.TextString = T2.TextString THEN T2.ID ELSE '' END AS OldCode
    FROM   MyCTE T1
           LEFT JOIN MyCTE T2
               ON T1.rn = T2.rn+1
      

    SQL Fiddle デモ




    1. Oracleのログテーブルから電子メール本文にデータをエクスポートする方法

    2. where句で空白文字は無視されます

    3. 選択ステートメントの書き方

    4. MySQLi PHP:MySQLiを使用してSQLINSERTクエリが完全に成功したかどうかを確認します