PDA

View Full Version : مبتدی: تعداد تکرار از هر رکورد



Collector
جمعه 21 مهر 1391, 21:24 عصر
سلام
من یک جدول برای فروش دارم که میخوام تعداد فروش از هر کالا را بدست بیارم.لطفا راهنمایی کنید.

Nima_kyan
جمعه 21 مهر 1391, 21:32 عصر
این کد رو امتحان کن

select sum(Tedad_Foroosh) from Tbl_Foroosh where id_Kala=@ID_Kala

danialafshari
شنبه 22 مهر 1391, 01:05 صبح
سلام
خب این که کار نداره. یقینآ هر محصول یک کد داره که با شمارش مقدار برگشتی اون کد می تونی تعداد رو بدست بیاری
موفق باشی

Collector
شنبه 22 مهر 1391, 10:29 صبح
این کد رو امتحان کن

select sum(Tedad_Foroosh) from Tbl_Foroosh where id_Kala=@ID_Kala
این کد وقتی جواب میده که ما محصول خاصی را انتخاب کنیم.
من از این Query استفاده کردم اما دو تا مشکل داره لطفا راهنمایی کنید
1- من میخوام نتیجه در گزارش نمایش داده بشه که با این Query فقط شماره انبار را درست نمایش میده و تعداد تکرار را نمایش نمیده. البته در دیتاگرید نمایش میده
2- فقط همین دو تا رکورد را میشه نمایش داه من میخوام بقیه ستون ها را نمیتوان نمایش داد.مثلا ستون نام کالا

Select AnbarCode,SUM(Count) From Buy GROUP BY AnbarCode

veniz2008
شنبه 22 مهر 1391, 10:36 صبح
سلام. شما هر تعداد فیلد که دوست داری جلوی Select بذار مشکلی نداره. فقط به جای کلمه count نام فیلدی که تعداد فروش رو مشخص میکنه بذار. گروه بندی رو هم براساس کد کالا انجام بده. اگر همچنان مشکل داری یه عکس از جدولت بذار تا بهتر بشه راهنمایی کرد.

morteza271
شنبه 22 مهر 1391, 10:52 صبح
شما هر تعداد فیلد که دوست داری جلوی Select بذار مشکلی نداره. فقط به جای کلمه count نام فیلدی که تعداد فروش رو مشخص میکنه بذار
نه دوست عزیز نمیتونن هر ستونی رو که میخوان در عبارت select بیارن چون از GropuBy استفاده کردن و فقط اعضای لیست Group By رو میتونن تو Select بیارن!!!!!!!

شما بهتره یه عکس از جدولتون بذارین تا بهتر بتونیم کمکتون کنیم.

veniz2008
شنبه 22 مهر 1391, 11:07 صبح
نه دوست عزیز نمیتونن هر ستونی رو که میخوان در عبارت select بیارن چون از GropuBy استفاده کردن و فقط اعضای لیست Group By رو میتونن تو Select بیارن!!!!!!!

دوست من،این امکان وجود داره که حتی از جداول دیگه هم ستون بیارن( با join کردن) به شرطی که ارتباط بین جداول برقرار شده باشه.یعنی فیلد مشترک بین جداول داشته باشن.

morteza271
شنبه 22 مهر 1391, 11:12 صبح
دوست من،این امکان وجود داره که حتی از جداول دیگه هم ستون بیارن( با join کردن) به شرطی که ارتباط بین جداول برقرار شده باشه.یعنی فیلد مشترک بین جداول داشته باشن.
صد در صد میتونن از join استفاده کنن، بر منکرش لعنت!!!!

من میگم شما که گفته بودین میتونید همه ستونها رو بذارین و از Group BY استفاده کنند، نمیتونن این کار رو بکنن!
چونکه وقتی از Group By استفاده کنی در Select فقط میتونی همون ستون هایی که در لیست Group By هستند رو بیارن ولاغیر!!!
میگید نه تست کنید!کاری نداره!
موفق باشید

Collector
شنبه 22 مهر 1391, 11:18 صبح
سلام. شما هر تعداد فیلد که دوست داری جلوی Select بذار مشکلی نداره. فقط به جای کلمه count نام فیلدی که تعداد فروش رو مشخص میکنه بذار. گروه بندی رو هم براساس کد کالا انجام بده. اگر همچنان مشکل داری یه عکس از جدولت بذار تا بهتر بشه راهنمایی کرد.

Count همان تعداد کالای فروش رفته است و AnbarCode کد کالا است.
این پروژه که بایستی تمام فیلد ها را گزارش بگیرد که فقط کد انبار را در حال حاضر در گزارش نمایش میدهد.

وقتی فیلد id را اضافه میکنم این خطا رو میده


Column 'Buy.ID' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Column 'Buy.ID' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

veniz2008
شنبه 22 مهر 1391, 14:09 عصر
صد در صد میتونن از join استفاده کنن، بر منکرش لعنت!!!!
چونکه وقتی از Group By استفاده کنی در Select فقط میتونی همون ستون هایی که در لیست Group By هستند رو بیارن ولاغیر!!!
موفق باشید
با حرف شما موافقم.
دوست عزیز پروژتون باز نشد. یه عکس از جدولتون بگیرید و بذارید.

حسین شهریاری
شنبه 22 مهر 1391, 15:10 عصر
SELECT AnbarCode ,COUNT(AnbarCode) AS CNT FROM TABLE_NAME
GROUP BY AnbarCode
اگه فیلد دیگه ای هم بود، مقابل GROUP BY بنویسید
موفق باشید