PDA

View Full Version : یه select نشدنی



ghoroghchian
جمعه 22 آبان 1388, 19:52 عصر
دوست خوب من سلام

من یه select میخواهم که نتیجش مثل شکل باشه
البته میتونه یه store procedure هم باشه
http://ghoroghchian.persiangig.com/image/barnamehnevis/2.JPG
اصلا این جور چیزی میشه؟

Reza.ariyan
جمعه 22 آبان 1388, 20:37 عصر
اولا اصلا این چیه
دوما : این رو نمیشه با select انجام داد
با pivot اگه خواستی در خدمتیم
1 . مقادیر فیلد Date رو باید تغییر بدی
2 . هیچی !



SELECT *
FROM
(SELECT dbo.Table_1.Cash,dbo.Table_1.Date as FieldTitle from dbo.Table_1) p
PIVOT
(
min([cash])
FOR FieldTitle IN
( [فروردین],[اردیبهشت],[خرداد],[تیر])
) AS pvt8

اگه هم خواستی تاریخ ها و ساختار جدولت دست نخوره به جای عناوین فارسی از تاریخ استفاده کن یا یه جدوب با select درست کن و عنوان هر جدول رو با as عوض کن

یادم رفت بگم که کار نشد نداره

DataMaster
شنبه 23 آبان 1388, 00:00 صبح
میشه یه توضیح مختصری در مورد کوئری بدید
من اصلا نفهمیدم چطوری شد
علی الخصوص Pivot

Reza.ariyan
شنبه 23 آبان 1388, 12:17 عصر
SELECT dbo.Table_1.Cash,dbo.Table_1.Date as FieldTitle from dbo.Table_1 این خط همه رکورد های Table1 رو انتخاب میکنه

PIVOT ( min([cash]) این :از PIVOT یه جورایی برای خلاصه سازی استفاده کردیم . تو این خط داده ها رو بر اساس کمترین مقدار فیلد Cash خلاصه سازی کردیم بر اساس اینکه عنوان فیلدهایی که قراره ساخته بشن یکی از مقادیر [فروردین],[اردیبهشت],[خرداد],[تیر] باشند
به عبارت دیگه ستون Date (یا همون FieldTitle )رو پیمایش میکنه و وقتی به مقدار فروردین میرسه min([cash باعث میشه که کمترین مقدار Cash رو انتخاب کنه - پس نتیجه برای فروردین بدست میاد - و برای ماه های دیگه هم به همین صورت