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

Làm cách nào để điền ngày và giá trị bị thiếu trong dữ liệu được phân vùng?

Đầu tiên, bạn cần tạo ngày tháng. Sau đó, bạn có thể tạo tất cả các kết hợp ngày và tên. Cuối cùng, điền vào các giá trị. Đây là một ví dụ sử dụng 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để tạo chỉ mục không hợp nhất trong Tạo bảng?

  2. Nhập tệp CSV vào SQL Server bằng SqlBulkCopy

  3. Chèn hàng loạt SQL với mối quan hệ cha / con, thứ tự có được giữ nguyên không?

  4. Chèn nhanh bảng dữ liệu quan hệ (chuẩn hóa) vào cơ sở dữ liệu SQL Server 2008

  5. Khóa gì | tài nguyên bộ đệm truyền thông có nghĩa là?