PDA

View Full Version : سوال در مورد select در گرید؟(حرفهای)



نیما حتمی
شنبه 28 خرداد 1390, 09:07 صبح
با سلام
دوستان من در برنامم کاربر کدهایی به صورت1100000-111001001-112002000و.....وارد می کنه که این کدها در واقع نشان دهنده مقادیر بدهکار و بستانکار می باشدحالا من می خوام یک SELECT بنویسم که بیاد بگه کدهایی که سه رقم اولشون مثلا111 مجموع بدهکار و بستانکارشون چقدر و کدهایی که سه رق اولشون112 مجموع بدهکار و بستانکارشون چقدر و.......

اساتید محترم خیلی حیاتیه این موضوع کمکم کنید

noname1st
شنبه 28 خرداد 1390, 09:26 صبح
با سلام
select sum(مجموع بستانکار و بده کار) from tbl... where code like '111%'

نیما حتمی
شنبه 28 خرداد 1390, 09:55 صبح
ظاهرا من منظورمو بد رسوندم
دوست عزیز منظور بنده اینه سیستم بره بیبینه اون کدهایی که 3رقم اولشون مانند همه مجموعشونو بیاره نه اونایی که 3رقم اولشون111ویا 112ویا......

در جدول بگرده اونایی که 3رقم اولشون مثل هم هستو بیاره ومجموعشونو حساب کنه.

با تشکر

noname1st
شنبه 28 خرداد 1390, 10:04 صبح
خوب یعنی چه؟؟؟
مگه سیستم هووش مصنوعی داره؟؟؟که خودش بره بیاره؟
اگه شما برنامه نویس هستی پس باید کد بالا رو فراخوان کنی تا برات برگردونه و اگر از نرم افزار استفاده می کنی توی قسمت گزارش گیری باید بری گزارش رو بسازی
اما خود سیستم قابلیت فهمیدن این جور چیزا رو نداره ما باید بهش بفهمونیممممم:متعجب:

نیما حتمی
شنبه 28 خرداد 1390, 10:37 صبح
اساتید محترم لطفا کمک کنید.

rahil_2008
شنبه 28 خرداد 1390, 10:37 صبح
با group by و تابع sum باید این کارو انجام بدی
مثلا:
select code,sum(bestankari),sum(bedehkari) from tb1 groub by code

نیما حتمی
شنبه 28 خرداد 1390, 13:30 عصر
نه دوست عزیز اینطوری میاد هر کد واحدی که در سیستم هستو حساب می کنه.شما فرض کنین کدهای زیر رو دارن:11100000-111001001-111100011-1120000-112001001-113000000
اگه روش شمارو که منم قبلا خودم تست کردم استفاده کنم اینو خروجی میده:
11100000
111001001
111100011
1120000
112001001
113000000
در صورتی که بنده می خوام اونایی که 3رقم اولشون مثل هم هستو جمعشونو بده به این شکل:
111
112
113

rahil_2008
شنبه 28 خرداد 1390, 19:36 عصر
حق با شماست
اما همین مساله رو تو بخش sql server مطرح کنید شاید اونا بتونن پاسخ بدن

AAtoZZ
یک شنبه 29 خرداد 1390, 17:54 عصر
شما باید از Group by استفاده کنید، اما از Group By که با توجه به سه رقم اول دسته بندی رو انجام بده.

SELECT LEFT(PersonCode,3), SUM(Account)
FROM tblData
GROUP BY LEFT(PersonCode,3)

نیما حتمی
سه شنبه 07 تیر 1390, 19:26 عصر
دوست عزیز مرسی مشکلم به لطف شما حل شد میشه یه منبع کامل ذکر کنین که چنین دستوراتی از sql را دارا باشه؟خیلی کار راه اندازه
یک دنیا ممنون

نیما حتمی
چهارشنبه 08 تیر 1390, 10:56 صبح
اساتید محترم کسی منبعی سراغ داره از sql که اینطور دستورات رو آموزش داده باشه؟

AAtoZZ
چهارشنبه 08 تیر 1390, 18:55 عصر
Sql دستورات زیادی نداره، مهم اینه که چطور بتونی همین تعداد محدود رو کنار هم قرار بدی و به نتیجه دلخواهت برسی
تقریبا تمام کتاب ها و جزوات SQL، تمام دستورات SQL رو دارند، چون تعداد دستوراتش خیلی کمه.
بهترین محل برای دیدن مثال ها و کاربرد دقیق دستورات سایت MSDN