PDA

View Full Version : آموزش: روش حذف سطرهای تکراری در DataGridView بدون استفاده از Distinct



zayens
پنج شنبه 23 اردیبهشت 1389, 10:51 صبح
بالاخره خودم تونستم باجون کندن این روش رو پیدا کنم
هزار تا تاپیک زدم که یه نفر به من کمک کنه
ولی هرکی یه چیزی میگفت و من هم آخرش نمی فهمیدم باید چه کار کنم

و اما اکنون................
روش حذف سطرهای تکراری در DataGridView بدون استفاده از Distinct
الان براتون کامل توضیح میدم

من یک Table داشتم با ستونهای
نام---------تعداد----------تاریخ-----------و...

می خواستم با چند روش گزارشی ازشون تهیه کنم:

**در تمام روشهای گزارش، نام های تکراری فقط یک بار باید بیاید و قسمت تعداد همه ی نام ها هم باید با هم جمع بشود و آن هم یکبار بیاید.
1- در روش اول (زدن رادیوباتن اول) میخواستم همه ی ستون ها(به غیر تاریخ) را نمایش بدهد
2-در روش دوم(زدن رادیوباتن دوم) میخواستم همه ی ستون های(رکوردهای) مربوط به امروز را نمایش بدهد
3- در روش سوم (زدن رادیوباتن سوم) میخواستم همه ی ستون های مربوط به این ماه را نمایش بدهد
خوب در استورپرسیجر از کدهای زیر استفاده کردم
روش اول


select NAME,sum(NUM) as NUM from TABLE1 group by NAME

*در این روش باعث میشه اگر چند تا نام مساوی با تعداد مختلف وجود داشت:
فقط یک نام + جمع همه ی تعداد ها نمایش داده میشه
روش دوم
برای این کار باید تاریخ امروز را می فرستادم


create proc selectUSED
@DATE nvarchar(50)
as
select *from TABLE1 where DATE=@DATE
go

در توضیح باید بگم که در یک روز هیچ وقت نام ها تکراری نمیشد و در صورت تکراری بودن نام، تعداد جدید به تعداد قبلی اضافه میشد
اما روش سوم که باید تاریخ امروز فرستاده می شد و گزارش این ماه گرفته میشد:


create proc SselectMonth
@DATE nvarchar(50)
as
select NAME,sum(NUM) as NUM
from TABLE1
where LEFT(DATE,7)=LEFT(@DATE,7) group by NAME
go

توضیح اینکه تاریخ به صورت 26/02/1389 فرستاده میشد و برای بدست آوردن ماه باید 7 کاراکتر سمت چپ فقط جدا میشد

امیدوارم که به درد دوستایی که کامل بلد نبودن بخوره.
(همچنین دوستایی که به من اشتباه میرسوندن:لبخند:)