sql >> Database >  >> RDS >> Sqlserver

Herhaal rijen N keer volgens kolomwaarde

U kunt een eenvoudige JOIN . gebruiken om het gewenste resultaat te krijgen zoals hieronder:

SELECT  t1.*, t2.number + 1 RepeatNumber
FROM    TableA t1
JOIN    master.dbo.spt_values t2 ON t2.type = 'P' AND t2.number < t1.Quantity

De bovenstaande query herhaalt elk record met het opgegeven aantal in Quantity kolom.


Opmerking voor master.dbo.spt_values on type = 'P' :
Deze tabel wordt gebruikt voor het verkrijgen van een reeks getallen die daarin hard gecodeerd is door
voorwaarde van type = 'P' .



  1. Operand type clash:varchar is incompatibel met varchar(50) die probeert in te voegen in een versleutelde database

  2. SQL Server - vergrendelt [SELECT] [UPDATE]?

  3. LEFT OUTER JOIN-query retourneert verwachte rijen niet

  4. Beste nieuwe functies in PostgreSQL 14