PDA

View Full Version : ايجاد ستون در كوئري به تعداد محتواي متفاوت ستون خاص



Sal_64
پنج شنبه 18 دی 1393, 18:43 عصر
سلام
شايد توضيح نوشتاري سوال كمي مبهم و پيچيده باشه
به همين دليل از اين عكس براي تفهيم بيشتر موضوع استفاده كردم
لطفا عكس ببينيد
127377

تشكر

fahimi
پنج شنبه 18 دی 1393, 20:44 عصر
با توجه مثال زیر به نتیجه می رسی

USE AdventureWorks2008R2 ;
GO
SELECT DaysToManufacture, AVG(StandardCost) AS AverageCost
FROM Production.Product
GROUP BY DaysToManufacture;
-- Pivot table with one row and five columns
SELECT 'AverageCost' AS Cost_Sorted_By_Production_Days,
[0], [1], [2], [3], [4]
FROM
(SELECT DaysToManufacture, StandardCost
FROM Production.Product) AS SourceTable
PIVOT
(
AVG(StandardCost)
FOR DaysToManufacture IN ([0], [1], [2], [3], [4])
) AS PivotTable;

aslan
پنج شنبه 18 دی 1393, 21:05 عصر
یک روش Dynamic:


DECLARE @cols NVARCHAR(3000)
DECLARE @query NVARCHAR(4000)
SELECT @cols = STUFF(( SELECT DISTINCT '],[Code' + t.Code
FROM tmp AS t FOR XML PATH('')), 1, 2, '') + ']'
SET @query ='select * from
(select Name, ''Code''+Code as code, Money from tmp) DataTable
PIVOT
(SUM(Money) FOR Code IN('+ @cols+')) PivotTable'
EXECUTE(@query)


موفق باشید

Sal_64
پنج شنبه 18 دی 1393, 22:41 عصر
ممنون از دوستان
من از كدهاي پست سوم استفاده كردم و جواب سوالم گرفتم
اما الان كلي سوال جديد واسم پيش اومده :لبخند: