PDA

View Full Version : سوال: یک کوری جدید



navid1n2000
چهارشنبه 15 اردیبهشت 1389, 23:04 عصر
سلام
این عکسو ببینین
http://up.iranblog.com/Files/58b5db3c1a634dbfbb85.jpg
من میخوام اطلاعات مثلا عضو 3001 رو در یک سال توی یک ردیف بیارم
مثلا توی یک ردیف به ترتیب میزان قسط رو از فروردین تا اسفند بیاره
اینم کد این ویو :

SELECT TOP (100) PERCENT dbo.SarVams.ShOzviat, dbo.Ozu.FName, dbo.Ozu.LName, dbo.SarVams.SalId, dbo.SarVams.MahId, dbo.SarVams.GhestSarPrice,
dbo.SarVams.SarVamID
FROM dbo.Ozu INNER JOIN
dbo.SarVams ON dbo.Ozu.ShOzviat = dbo.SarVams.ShOzviat
WHERE (dbo.SarVams.SalId = '9')
ORDER BY dbo.SarVams.ShOzviat, dbo.SarVams.SarVamID

Moslemu
پنج شنبه 16 اردیبهشت 1389, 07:03 صبح
سلام.
اگه مي خواهيد اطلاعات چند رديف رو گروه بندي كنيد، مثلاً جمع پرداخت قسطهاي 3001 در يك سال رو در يك رديف ببينيد بايد از groupBy استفاده كنيد.
اما اگه منظورتون اينه كه اطلاعات چند ركورد يك فيلد رو توي يه سطر نشون بديد دنبال يه كار غير منطقي هستيد!
موفق و پيروز باشيد.

navid1n2000
پنج شنبه 16 اردیبهشت 1389, 14:49 عصر
سلام.
اگه مي خواهيد اطلاعات چند رديف رو گروه بندي كنيد، مثلاً جمع پرداخت قسطهاي 3001 در يك سال رو در يك رديف ببينيد بايد از groupBy استفاده كنيد.
اما اگه منظورتون اينه كه اطلاعات چند ركورد يك فيلد رو توي يه سطر نشون بديد دنبال يه كار غير منطقي هستيد!
موفق و پيروز باشيد.
من همیشه با group by مشکل دارم
میشه بگین بر اساس اون کد بالایی چطور باید از گروپ بای استفاده کنم
من میخوام اقساط ماههای مختلف عضو شماره 3001 رو توی یک ردیف نشون بده

navid1n2000
جمعه 17 اردیبهشت 1389, 14:59 عصر
ببینین
این کوری فعلیه :

http://irupload.ir/images/o80rwiz03tcmtnppvlmj.jpg
من می خوام اقساط سرمایه هر عضو رو سالانه در بیارم مثلا برای عضو شماره 3001 در سال 9 :
http://irupload.ir/images/j4hj27xubss0kc96ooy.jpg
با استفاده از گروپ بای چطور می تونم ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
خیلی فوریه

amirghazali
شنبه 18 اردیبهشت 1389, 19:40 عصر
سلام به شما دوست عزيز
چنانچه شما مي خواهيد مجموعه اي از سطرها را گرفته و بصورت يک ستون نشون بدهيد ، پيشنهاد من به شما استفاده از دستور PIVOT هستش. دقت کنيد که اين دستور به SQL serevr از ورژن 2005 به بعد اضافه شده است .
براي طريقه استفاده از اون يک سري به MSDN بزنيد .

navid1n2000
شنبه 18 اردیبهشت 1389, 21:13 عصر
سلام به شما دوست عزيز
چنانچه شما مي خواهيد مجموعه اي از سطرها را گرفته و بصورت يک ستون نشون بدهيد ، پيشنهاد من به شما استفاده از دستور PIVOT هستش. دقت کنيد که اين دستور به SQL serevr از ورژن 2005 به بعد اضافه شده است .
براي طريقه استفاده از اون يک سري به MSDN بزنيد .
ممنون از جوابتون
اما میشه بگین مثلا توی اسن ویوی من کجا می تونم از pivot استفاده کنم؟؟؟؟؟؟؟؟؟؟؟؟

amirghazali
شنبه 18 اردیبهشت 1389, 22:14 عصر
سلام .
این را امتحان کنید . با استفاده از فیلدهای جدول دوم شما :
SELECT SalID,[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]
FROM (
SELECT SalID,MahID,GhestSarPrice
FROM Ozu ) AS Ozu
PIVOT (SUM(GhestSarPrice) FOR MahID IN
([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12] )
) AS ourPivot
ORDER BY SalID

navid1n2000
شنبه 18 اردیبهشت 1389, 22:41 عصر
سلام .
این را امتحان کنید . با استفاده از فیلدهای جدول دوم شما :
SELECT SalID,[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]
FROM (
SELECT SalID,MahID,GhestSarPrice
FROM Ozu ) AS Ozu
PIVOT (SUM(GhestSarPrice) FOR MahID IN
([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12] )
) AS ourPivot
ORDER BY SalID
این پیام رو داد :
SQL text cannot be represented in the grid pane and diagram pane.
اگه قسمت pivot رو حذف می کنم این پیامو میده :
http://up.iranblog.com/Files/07b52054dbe94bfe80fc.jpg
راه حل چیه ؟؟؟؟؟؟؟؟