Pytanie : Using Pivot z Dynamiczny Kolumna i Grupa Obok

I mieć the następujący:

DECLARE @listCol VARCHAR (2000)
SELECT @listCol = MATERIAŁ ((WYBRANY DISTINCT
'], ["+ Description
FROM Items
ORDER"], ["+ Opis DLA XML ŚCIEŻKA ('')), (1), 2, '') +"] '
DECLARE @query NVARCHAR (4000)
SET @query = 'WYBRANY CustReference, '+@listCol+'< wbr/> OD assets
PIVOT (SUMA (AssetQTY) DLA AssetType W ("+@listCol+")) GDY p grupa CustReference
EXECUTE (@query)

This podstawowy ustalać the szpaltowy imię i przechować w @listCol, I chcieć CustReference. W Ten Sposób to I potrzebować Łączny funkcja wokoło "+@listCol+" ale to nie udać się gdy the łączny funkcja wymagać (1) argument.

Any pomysł dlaczego ten działanie?

Odpowiedź : Using Pivot z Dynamiczny Kolumna i Grupa Obok

I nigdy zobaczyć the odniesienie OrderID do the ostatni komentarz.
Tutaj ty iść


OZNAJMIAĆ @LISTCOL VARCHAR (2000)
WYBIERAĆ @LISTCOL = MATERIAŁ ((WYBIERAĆ ODRĘBNY
"], [" + Opis
OD Rzecz
ROZKAZ "], [" + Opis DLA XML ŚCIEŻKA ('')), (1), 2, '') + "]"
OZNAJMIAĆ @QUERY NVARCHAR (4000)
USTAWIAĆ @query = 'WYBRANY orderid, CustReference, "+@listCol+" OD
(wybrany orderid, CustReference, AssetType, Suma (AssetQty) jako AssetQty
OD wartość grupa orderid, CustReference, AssetType) X
PIVOT (SUMA (AssetQTY) DLA AssetType W ("+@listCol+")) JAKO p '
WYKONYWAĆ (@query)
Inne rozwiązania  
 
programming4us programming4us