spicirmkh
دوشنبه 16 آبان 1390, 21:24 عصر
گزارشی نوشتم که مقدار صادرات کالا از سال 2009 تا 2011 بصورت ستونی نمایش می دهد حال اگر بخواهم بصورت سطری نمایش دهد به چه صورت است ؟
20 2009 خرما
15 2010 خرما
12 2011 خرما
40 2009 پسته
60 2010 پسته
50 2011 پسته
به اینصورت می خواهم
2011 2010 2009
12 15 20 خرما
50 60 40 پسته
mina_ghorbani
سه شنبه 17 آبان 1390, 10:19 صبح
بايد از PIVOT استفاده كني
اول SYNTAX رو مي نويسم بعد يه مثال من نمي دونم ساختار جدولت چيه يه چيزي برا مثال نوشتم از اين استفاده كن
SYNTAX
SELECT*
FROM (SELECT<ROW_header_column>,<COLUMN_HEADER_EXORRESION>as cOLhEADER,<EXPRESSION_tobe_aggregate>AS AggrExp
From...)as<DtName>
PIVOT(AGGREGATEFUNCTION(AggrExpr)FOR ColHeader
IN([col1],[col2],...))AS<PivotName>
SAMPLE
SELECT
*
FROM
(SELECT [ ],YEAR([])AS OrderYear,[ ]
FROM [ ])AS DTKala
PIVOT(
COUNT([ ])FOR [] IN([2009],[2010],[2011]))AS MYPivot
ORDERBY 1
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.