ورود

View Full Version : سوال: راهنمایی در خصوص کوری و گزارش



hamidnikan
شنبه 01 مرداد 1390, 00:59 صبح
با سلام
در یه حدول که نمونه ی ساده ای از اون رو پیوست کردم ، چند تا فیلد داریم که اطلاعات اشخاصی توی اون هست که هر چند نفر یا یه نفر یه یک خانواده مربوطه ، یعنی ممکنه از یه خونواده سه نفر یا بیشتر و از یه خونواده هم فقط یه نفر باشه ، فیلدی که نشون میده کدوم نفرات از یه خونواده هستن در فایل ضمیمه فیلد bb است که 4 کارکتر این فیلد برای اعضای یه خونواده مثل همه و فقط کارکتر اخری با هم فرق داره، ضمنا توی یه فیلد cc هم اگه 1 یا صفر بود یعنی این نفر سرپرست خونواده است ، حالا اگه من کوری بخوام که فقط سرپرست ها رو نشون بده توی شرط میگم اونایی رو نشون بده که فیلد cc اونا از 2 کوچیکتر باشن ، اما :
مشکل و تقاضای راهنمایی :
اگه بخوام گزارشی داشته باشم که مثلا اگه حداقل یه فرد از اعضای یه خونواده مبلغی مطابق فیلدdd واریز کرده باشن کل سرپرست و اعضای خونواده ی این سری نفرات رو بهم نشون بده طبق یه کوری یا گزارش چیکار باید بکنم،یعنی در فایل پیوست بطور مثال 4 نفر اولی یه خونواده هستن و یه نفر مبلغ واریز کرده و دو نفر 5 و 6 از یه خونواده که هیچی واریز نکردن و دو نفر 7 و 8 بازم یه نفرشون یه مبلغی واریز کرده ، من گزارشی میخوام که نفرات 1 و 2و3و4و7و8 رو نشون بده و 5 و 6 نباشن ، لطفا" راهنمایی کنید

mohammadgij
شنبه 01 مرداد 1390, 02:41 صبح
سلام دوست عزیز متاسفانه من اکسس روی دستگاهم نصب نیست که فایل رو ویرایش کنم اما شما میتونی توی کوئری و در فیلد مبلغ شرط بذاری به این طریق

<>0
یا

<>""
یا

<>null

hamidnikan
شنبه 01 مرداد 1390, 15:34 عصر
دوست عزیز
با این شرط هایی که شما فرمودین ، نتیجه رکوردهایی هست که فیلد مبلغ آنها خالی یا صفر نباشد ، اما اگه به توضیحات من دقت کرده باشین ، من اگه از یه خانوار 4 نفری حتی یه نفر از اونا هم مبلغ واریز کرده باشه لیست کل افراد اون خانواده رو میخوام ؟
لطفا" یکی جواب بده
برا واضح تر شدن سوالم و اینکه شاید دوستان .وقت باز کردن فایل و دیدن اونو نداشته باشند ، یه تغییر در فایل دادم و شرح کامل اون رو در زیر نوشتم :

این فرض کنید که جدول ماست :
فیلد bb برا هر خانواده مثل هم است یعنی الان در فایل زیری 4 تای اولی از یه خونواده ، دوتای بعدی هم یه خونواده و دوتای آخر هم یه خونواده هستند
فیلد cc یه کد هست که اگه 1 بود یعنی سرپرست خونواده است اگه غیر از 1 بود یعنی اعضای خونواده است و تحت تکفل اونی که عدد 1 داره
فیلد cc هم مبلغ واریزیه که ممکنه سرپرست و یکی از اعضا مبلغی واریز کرده باشند

فیلد aa ******فیلد bb ******فیلد cc ******فیلد dd
علی******** 12131******* *1 ***********0
حسن******* 12131******** 2*********** 0
احمد******* 12131 ********3 **********50000
مرتضی****** 12131******** 4*********** 0
نواب******** 12150 ********1*********** 0
شریف******* 12150 ********3*********** 0
شجاعت***** 12110******** 1 *********50000
محمد******* 12110******** 3 ***********0

حالا اگه ما بخواهیم گزارشی از سرپرست ها داشته باشیم خوب در کوری در قسمت فیلد cc می نویسیم : =1 ( یعنی فقط سرپرست ها )
اگه بخواهیم گزارشی از نفراتی که مبلغ واریز کرده باشند در کوری در قسمت فیلد dd می نویسیم : بزرگتر از صفر ( تا افرادی رو که مبلغی واریز کردند نشون بده )


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

hamidnikan
شنبه 01 مرداد 1390, 16:15 عصر
اینم فایل جدید

dadsara
یک شنبه 02 مرداد 1390, 08:05 صبح
سلام
1- ابتدا بایستی افرادی که مبلغ بیشتر از صفر ریال را پرداخت کرده اند استخراج کنید
2- برروی فیلد مشتکر آنها گروه بندی کنید
3- برروی فیلد شرط خود Where بگذارید
4- نتیجه را با خود جدول جوین بدهید
مشابه نمونه زیر :

SELECT Table1.aa, Table1.bb, Table1.cc, Table1.dd
FROM [SELECT Table1.bb
FROM Table1
WHERE (((Table1.dd)>0))
GROUP BY Table1.bb
]. AS [%$##@_Alias] INNER JOIN Table1 ON [%$##@_Alias].bb = Table1.bb;