امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
ارسال كد SQL مورد نظر
نویسنده پیام
saeedi_h آفلاین
تازه وارد

ارسال‌ها: 3
موضوع‌ها: 2
تاریخ عضویت: خرداد ۱۳۸۷

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #1
رفع اشكال در مورد ساختن يك Query در اكسس
با سلام
جدولي داريم با فيلدهاي زير :
نوع سند ، شماره سند ، حساب ، مبلغ .

مي خواهيم اين جدول را با فيلد «حساب» گروه بندي(GroupBy) كنيم به نحوي كه مبالغ را به تفكيك هر حساب جمع بزند سپس در فيلد «شماره سند» براي هر حساب ، بزرگترين «شماره سند» را انتخاب نموده و سپس نوع سند و شماره سند متناظر با آن را درج نمايد .
كسي هست كه بتونه كد SQL آن را بنويسد . من كد آن را نوشتم ولي تمام «نوع سند» ها را ليست مي كند در حالي كه من مي خواهم فقط فيلد «نوع سند» متناظر با ماكزيمم «شماره سند» انتخاب شود كه نهايتاً يك ركورد تحويل ما بدهد نه چندين ركورد .
لطفاً مرا راهنمايي كنيد . سپاسگذارم .
۰۳-خرداد-۱۳۸۷, ۰۹:۱۹:۲۰
ارسال‌ها
پاسخ
Mamad2003 آفلاین
کاربر با تجربه
****

ارسال‌ها: 1,150
موضوع‌ها: 18
تاریخ عضویت: آذر ۱۳۸۲

تشکرها : 9
( 388 تشکر در 232 ارسال )
ارسال: #2
RE: رفع اشكال در مورد ساختن يك Query در اكسس
شما SQL رو که نوشتی بگذار !

گويند بهشت و حور و کوثر باشد  ..  جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه      ..   نقدي ز هزار نسيه خوشتر باشد  
۰۳-خرداد-۱۳۸۷, ۱۹:۲۴:۵۴
ارسال‌ها
پاسخ
saeedi_h آفلاین
تازه وارد

ارسال‌ها: 3
موضوع‌ها: 2
تاریخ عضویت: خرداد ۱۳۸۷

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #3
ارسال كد SQL مورد نظر
کد:
SELECT GardeshHesab.Type, Max(GardeshHesab.DOC_NO) AS MaxOfDOC_NO, Sum(GardeshHesab.DB_VAL) AS SumOfDB_VAL, Sum(GardeshHesab.CR_VAL) AS SumOfCR_VAL
FROM GardeshHesab
GROUP BY GardeshHesab.Type, GardeshHesab.HESAB
HAVING (((GardeshHesab.HESAB)=@HESAB));

با اين كد چطور مي توان كاري كرد كه فقط جدول را به وسيله حساب گروه بندي كند و فقط يك رديف كه شامل «حساب»،«نوع سند»،«ماكزيمم شماره سند» و جمع مبالغ در يك ركورد خلاصه شود . حساب را با مبالغ مربوط به آن جمع ميزند ملي براي هر شماره سند اين كار انجام مي شود . من ميخوام كه ماكزيمم شماره سند گرفته شود و نوع سند متناظر با آن انتخاب شود .
قبلاً از پاسخ شما سپاسگذارم .
(آخرین ویرایش در این ارسال: ۰۴-خرداد-۱۳۸۷, ۱۵:۰۸:۴۱، توسط Mamad2003.)
۰۴-خرداد-۱۳۸۷, ۰۸:۰۷:۲۰
ارسال‌ها
پاسخ
Mamad2003 آفلاین
کاربر با تجربه
****

ارسال‌ها: 1,150
موضوع‌ها: 18
تاریخ عضویت: آذر ۱۳۸۲

تشکرها : 9
( 388 تشکر در 232 ارسال )
ارسال: #4
RE: ارسال كد SQL مورد نظر
دوست من ، نکته اول اینکه لطفا تمام مشکلات مربوط به این مسئله رو توی همین تاپیک دنبال بکن و از زدن تاپیک جدید خودداری کن .
من یک Select تو در تو نوشتم که جواب میده ( البته شاید به نحو بهتری هم بشه اینو نوشت ) :

کد:
SELECT Q1.HESAB,TYPE,MaxOfDOC_NO,SumOfDB_VAL,SumOfCR_VAL FROM GardeshHesab,
(
SELECT HESAB, Max(GardeshHesab.DOC_NO) AS MaxOfDOC_NO, Sum(GardeshHesab.DB_VAL) AS SumOfDB_VAL, Sum(GardeshHesab.CR_VAL) AS SumOfCR_VAL
FROM GardeshHesab
GROUP BY HESAB
) AS Q1
where  GardeshHesab.DOC_NO=Q1.MaxOfDOC_NO;

گويند بهشت و حور و کوثر باشد  ..  جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه      ..   نقدي ز هزار نسيه خوشتر باشد  
۰۴-خرداد-۱۳۸۷, ۱۵:۰۷:۵۵
ارسال‌ها
پاسخ
تشکر شده توسط : ajlajlajl, m_vb66


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS