Der Versuch, eine Ansicht mit einem PIVOT darin zu erstellen, kann die Syntax nicht herausfinden. Die Quellansicht hat drei Spalten: ClientNameID, Item und CountOfItem. Ich möchte, dass ClientNameID die Zeile, Item die Spalte und CountOfItem der Wert ist.SQL PIVOT-Syntax ist falsch
0
A
Antwort
0
I es herausgefunden: Ich habe auch gelernt, dass die Dimensionen (Spalten) müssen hart codiert in der DML
SELECT clientnameid
FROM dbo.vAggregateSalesByCustomerAndItem
pivot (
Sum(countOfItem) FOR Item in ([Ring])
) PivotTable
Das Problem Syntax BUT war. Ich wollte die Dimensionen dynamisch aus einer Tabelle, die in Excel machbar ist, mit einem Spaltenbereich holen, aber nicht hier.
+0
um dynamische Dimensionen zu erhalten, benötigen Sie 'Dynamic SQL' Sie können' sys.columns' oder 'INFORMATION_SCHEMA.COLUMNS' abfragen, um die Liste der Spaltennamen zu erhalten – Squirrel
0
Ich denke, du solltest das versuchen. seine für Sie gearbeitet ..
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
select @cols = STUFF((SELECT DISTINCT ',' + Item
from dbo.vAggregateSalesByCustomerAndItem
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = 'SELECT clientnameid ' + @cols + ' from
(
select clientnameid,countOfItem,Item
from dbo.vAggregateSalesByCustomerAndItem
) x
pivot
(
Sum(countOfItem)
for Item in (' + @cols + ')
) p '
execute(@query);
Verwandte Themen
- 1. Warum falsch == "falsch" ist falsch?
- 2. Was ist falsch mit dieser SQL-Abfrage?
- 3. Was ist falsch mit der SQL-Anweisung?
- 4. Was ist falsch in dieser SQL-Abfrage?
- 5. Warum ist dieses SQL falsch (MySQL)?
- 6. Was ist falsch an diesem SQL-Schema?
- 7. Was ist falsch an meiner SQL-Abfrage?
- 8. SQL Unterabfrage Anzahl falsch
- 9. Sql Server DATETIME Format falsch
- 10. Was ist falsch mit meinem create table SQL?
- 11. Was ist falsch an meinem Try Catch in T-SQL?
- 12. Was ist falsch an dieser SQL INSERT-Anweisung?
- 13. Was ist falsch in diesem PL/SQL-Programm?
- 14. Was ist mit dieser Daten-Explorer-SQL-Abfrage falsch?
- 15. Was ist falsch an meinem SQL hier? # 1089 - Falsche Vorwahltaste
- 16. Was ist falsch mit der folgenden SQL Links Join?
- 17. Was ist falsch an meiner SQL-Syntax hier?
- 18. C#/SQL - Was ist mit SqlDbType.Xml in Prozeduren falsch?
- 19. Was genau ist falsch mit diesen SQL-Abfragen
- 20. Warum ist mein Subtraktionsergebnis falsch?
- 21. Was ist hier falsch?
- 22. Warum ist document.all falsch?
- 23. NCalc-Auswertung ist falsch?
- 24. resultSizeEstimate ist komplett falsch
- 25. Request.IsAuthenticated ist immer falsch
- 26. Was ist hier falsch?
- 27. someDictionary.ContainsKey (someDictionary.Keys.First) ... ist falsch?
- 28. moveToNext() ist falsch
- 29. Was ist falsch .htaccess
- 30. Was ist damit falsch?
bitte auf die Bücher beziehen Online https://technet.microsoft.com/en-us/library/ms177410%28v=sql.105%29.aspx auf korrekte Syntax für PIVOT – Squirrel
@ Squirrel Genius. Ich kann mir nicht vorstellen, warum ich nicht daran gedacht habe. – nicomp