Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SQL nếu Bản ghi bằng bản ghi trước nó

;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 Demo




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sql Server 2008 địa lý Giới hạn kích thước chuỗi

  2. Truy vấn SQL - Chọn * từ chế độ xem hoặc Chọn col1, col2, ... colN từ chế độ xem

  3. Tổng một phần giữa các bản ghi khác nhau bằng cách sử dụng SQL 2008

  4. Máy chủ xử lý các yêu cầu dịch vụ web từ nhiều máy khách như thế nào

  5. So sánh các kế hoạch thực thi trong SQL Server