Ich habe die folgende SQL-AbfrageDie Spalte '638' wurde mehrfach für 'PVT' angegeben. Pivot
Select Product_Id, [riy] AS [riy],
[eas] AS [eas]
FROM
(SELECT Product_Id, Store_Name, Quantity
FROM [Product_Stock] INNER JOIN Store on Store.Id = [Product_Stock].Stock_Id where Product_Id = 435) ps
PIVOT
(
SUM(Quantity)
FOR Store_Name IN
([riy],[EAST WAREHOUSE - eas])
) AS pvt
es die result.Giving mir Gesamtmenge für Standorte RIY und eas zu erwarten gibt.
Ich möchte jedoch die Store-Namen dynamisch abrufen, anstatt sie manuell anzugeben.
das habe ich gemacht.
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
SELECT @cols = STUFF((SELECT ',' + QUOTENAME([Product_Id])
FROM [Product_Stock]
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
SELECT @query =
'SELECT Product_Id FROM
(SELECT Product_Id, Store_Name, Quantity
FROM [Product_Stock] INNER JOIN Store on Store.Id = [Product_Stock].Stock_Id where Product_Id = 435) PS
PIVOT
(
SUM(Quantity)
FOR Store_Name in (' + @cols + ')
) AS PVT'
EXEC SP_EXECUTESQL @query
Das gibt mir eine Fehlermeldung, Die Spalte ‚638‘ wurde mehrfach für ‚PVT‘ angegeben.
Wie kann ich dieses Problem lösen?
Sie hatten ein besseres über sein Problem gelesen. Das Produkt/Store-Problem wurde nicht angezeigt. –