Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

как да напиша SQL заявка за този резултат?

declare @t table(Id int,seq varchar(100)) 
insert into @t (Id,seq) values (1,'1839073,'),(2,'1839073,1850098,'),(3,'1850099,1850100,1850110 ')



;With Cte as (
SELECT A.Id,  
     Split.a.value('.', 'VARCHAR(100)') AS Seq  
 FROM  
 (
     SELECT Id,  
         CAST ('<M>' + REPLACE(seq, ',', '</M><M>') + '</M>' AS XML) AS Data  
     FROM  @t
 ) AS A CROSS APPLY Data.nodes ('/M') AS Split(a) )

 Select ID,Seq from Cte Where Seq > ''


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получите данни от последния месец и от месеца до момента

  2. Как да прехвърлите DateTime към Time

  3. Таблицата не може да се съкрати, защото се препраща от ограничение ВЪНШЕН КЛЮЧ - SQL Server / TSQL Урок, част 70

  4. Актуализиране на ред в таблица въз основа на подзаявка на същата таблица

  5. Как да проверя дали клиентът има инсталиран доставчик на SQLNCLI10 при сърфиране?