PDA

View Full Version : مبتدی: ایجاد یک کوئری توسط join



Sal_64
دوشنبه 02 آذر 1388, 21:34 عصر
دو تا تیبل دارم
دریافت و پرداخت

فیلدهای تیبل دریافت
نام – فامیل – مبلغ دریافت – شماره قبض – شماره دستگاه – کد دستگاه

فیلد های تیبل پرداخت
شماره قبض – شماره دستگاه – مبلغ پرداخت- تاریخ – کد دستگاه


Select name , family , m_daryaft , sh_ghabz from daryaft where sh_dastgah='' and cod_dastgah
=''

Select sum(m_pardakht) from pardakht where sh_dastgah='' and tarikh between '' and '' cod_dastgah
=''
2 دستور فوق با ید با هم مرتبط شن توسط شماره قبض

رکورد حاصل
نام – فامیل - مبلغ دریافت - مجموع مبالغ پرداخت - شماره قبض

احتمالا باید از join استفاده شه اما چطور ؟

با تشکر

Sal_64
سه شنبه 03 آذر 1388, 13:17 عصر
سلام
دوستان کسی می تونه رهنمایی کنه ؟
با تشکر

amin_alexi
سه شنبه 03 آذر 1388, 14:09 عصر
سلام
ببين با اين كارت راه مي افته !؟

Select name , family , m_daryaft , sh_ghabz , ( Select sum(m_pardakht)
from pardakht P
where sh_dastgah='' and tarikh between '' and '' and cod_dastgah =''
and D.sh_ghabz = P.sh_ghabz
)
from daryaft D
where sh_dastgah='' and cod_dastgah=''

Sal_64
سه شنبه 03 آذر 1388, 16:20 عصر
سلام
تشکر


ببين با اين كارت راه مي افته !؟متاسفانه خیر

توضیحات بیشتر :
در تیبل دریافت یک شماره قبض وجود دارد (غیر تکراری)
در تیبل پرداخت برای هر شاره قبض موجود در تیبل دریافت چندین پرداختی وجود دارد

کوئری فوق تمام پرداخت ها را برمی گرداند
در صورتیکه باید
برای هر شماره قبض تنها یک رکورد که شامل تنها دریافتی آن و مجموع مبالغ پرداختی آن شماره می باشد، وجود داشته باشد

با تشکر

amin_alexi
سه شنبه 03 آذر 1388, 16:41 عصر
من اين رو چون جداول رو نداشتم و ايجاد نكردم تست نكردم
ولي فكر ميكنم درست باشه
چون من فقط اطلاعات جدول daryaft رو مي آرم و يك فيلد اضافه كه حاصل جمع تمام بند هايي كه شماره قبضشون با شماره قبض ركورد daryaft برابره !
باز يك تست كن ببين شايد درست باشه !
اجراش كردي !؟