sql >> Databasteknik >  >> RDS >> Sqlserver

Hur fyller man i saknade datum och värden i partitionerade data?

Först måste du skapa datumen. Sedan kan du generera alla kombinationer av datum och namn. Slutligen, fyll i värdena. Här är ett exempel med cross apply :

with dates as (
      select @MINDATE as thedate
      union all
      select dateadd(day, 1, thedate)
      from dates
      where dateadd(day, 1, thedate) <= getdate()
     )
select thedate, vals.val
from dates cross join
     (select distinct name from hypothetical) h cross apply
     (select top 1 val
      from hypothetical h2
      where h2.name = h.name and h2.date <= dates.thedate
      order by date desc
     ) vals;



  1. identitet från sql infoga via jdbctemplate

  2. Postgresql ILIKE kontra TSEARCH

  3. Sätt att spåra raderad databas i SQL Server

  4. Generera slumpmässiga heltal utan kollisioner