sql >> Databáze >  >> RDS >> Sqlserver

SQL, pokud se záznam rovná záznamu před ním

;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

Ukázka SQL Fiddle




  1. MySQL:InnoDb:Čekání na semafor trvalo> 600 sekund. Záměrně jsme zhroutili server

  2. Proč není XAMPP vhodný pro výrobu?

  3. Má odstranění řádku ze základní tabulky vliv na zobrazení této tabulky?

  4. Výkon MYSQL IN