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

заявка, която ще дублира записи въз основа на количество

Тестови данни

CREATE TABLE Test_Table( PartNumber VARCHAR(20) , Quantity INT, [Description] VARCHAR(20), Category VARCHAR(20), Size VARCHAR(20), Tags VARCHAR(20))GOINSERT INTO Test_Table VALUES( "Част 100", 3, "Описание 100", "Котка 100", "Размер 100", "Етикет 100", ("Част 101", 2, "Описание 101", "Котка 101", "Размер 101", "Етикет 101") ТЪРВИ 

Запитване

;WITH CTE (Vals) AS ( SELECT 1 UNION ALL SELECT 1 + Vals FROM CTE WHERE Vals <99 )SELECT A.PartNumber, 1 AS QTY,A.Category,A.[Description],A. Size ,A.TagsFROM Test_Table A INNER JOIN CTE C ON C.Vals <=A.QuantityORDER BY A.PartNumber 

Набор от резултати

<предварителен код>╔════════════╦═════╦══════════╦═══════════ ════╦═════════╦════════╗║ PartNumber ║ Qty ║ Категория ║ Описание ║ Размер ║ Тагове ║╠════════════ ╬═════╬══════════╬═════════════════╬═════════╬════ ════╣║ Част 100 ║ 1 ║ CAT100 ║ Описание 100 ║ Size100 ║ TAG100 ║║ Част 100 ║ 1 ║ CAT100 ║ Описание 100 ║ Size100 ║ TAG100 ║║ Част 100 ║ 1 ║ CAT100 ║ Описание 100 ║ Size100 ║ Tag100 ║ ║ Част 101 ║ 1 ║ CAT101 ║ Описание 101 ║ Size101 ║ TAG101 ║║ Част 101 ║ 1 ║ CAT101 ║ Описание 101 ║ Size101 ║ TAG101 ║╚════════════╩═════╩ ══════════╩═════════════════╩══════════╩══════ код>

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на оператор IF ELSE въз основа на Count за изпълнение на различни оператори Insert

  2. Има ли начин да посочите множество схеми на SQL Server 2008 за командата 'generateChangeLog' на Liquibase?

  3. Как да прилагате цветове в изхода на powershell

  4. OPENROWSET с Excel файл

  5. Преобразувайте UTC милисекунди в DATETIME в SQL сървър