Я пытаюсь перечислить строки данных, чтобы быть столбцом, используя сводную.Но поскольку я ищу везде, большинство из них использует статический сводный элемент, который сам перечисляет нужный им столбец.
Но в моем случае я хочу, чтобы столбец был динамически направлен из данных строк.
-----------------------------------------
Date Ingredients TotalAmount
-----------------------------------------
1/2/19 butter 20.00
1/2/19 butter 5.00
2/3/19 Flour 7.00
2/3/19 Flour 3.00
4/3/19 Butter 4.00
2/4/19 Salt 12.00
3/4/19 Cinnamon 2.00
5/4/19 Cinnamon 13.00
.
.
.
.
.
.
.
.
Many more to comes
-----------------------------------------
Я уже пробовал динамический пивот, когда гуглил, как показано ниже;однако, он не нашел никакого решения.
DECLARE @s AS NVARCHAR(MAX)
SELECT @s= ISNULL(@s + ',','')
+ QUOTENAME(Ingredients)
FROM (SELECT Ingredients from Sales) AS Y
SELECT * FROM (
SELECT S.Date, S.TotalAmount, A.Ingredients FROM Sales S
) Z
PIVOT ( SUM(TotalAmount) FOR Ingredients IN (' + @s +')) AS MENU
Результат:
Msg 102, Level 15, State 1, Line 23
Incorrect syntax near ' + @PLUNAME +'.
Я хочу, чтобы мой результат запроса был таким, как показано ниже;
-----------------------------------------------------------------
Date Butter Flour Salt Cinnamon ... ... ... and many more
-----------------------------------------------------------------
1/2/19 25.00
2/3/19 10.00
4/3/19 4.00
2/4/19 12.00
3/4/19 2.00
5/4/19 13.00
.
.
.
.