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

Sao chép các hàng dựa trên giá trị cột trong mỗi hàng

Điều này sẽ hỗ trợ hơn 7.400 lần lặp lại cho bất kỳ công việc cá nhân nào (trên hệ thống của tôi). Nếu cần thêm, bạn có thể sử dụng bảng hệ thống khác hoặc kết hợp chéo.

DECLARE @d TABLE (Job INT, Quantity INT, Status VARCHAR(12), Repeat INT);

INSERT @d SELECT 1, 100, 'OK'  ,2
UNION ALL SELECT 2, 400, 'HOLD',0
UNION ALL SELECT 3, 200, 'HOLD',1
UNION ALL SELECT 4, 450, 'OK'  ,3;

WITH x AS 
(
  SELECT TOP (SELECT MAX(Repeat)+1 FROM @d) rn = ROW_NUMBER() 
  OVER (ORDER BY [object_id]) 
  FROM sys.all_columns 
  ORDER BY [object_id]
)
SELECT * FROM x
CROSS JOIN @d AS d
WHERE x.rn <= d.Repeat + 1
ORDER BY Job;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các cách khắc phục lỗi máy chủ SQL phát hiện lỗi I / O dựa trên tính nhất quán logic

  2. Sự khác biệt giữa sys.objects, sys.system_objects và sys.all_objects trong SQL Server

  3. Cài đặt SQL Server 2019 trên máy Mac

  4. Toán tử ký hiệu và (&) trong mệnh đề WHERE của SQL Server

  5. Cài đặt thời gian chờ cho SQL Server