الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

إسترجاع من عدة جداول لصفوف غير متساويه لها

مغلق
بدأه POWER _GIRL في 5 مايو 2005 · 9 رد · 752 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

(بسم الله الرحمن الرحيم)

هذا الكود لعرض مجموع المستهلكات و مجموع المدخلات والمباع لمادة

الخطأ: يقوم بتدبيل الارقام بعدد السجلات وهذا ناتج عن العلاقه ارجوا النظر فالعلاقة وتوجيهي لحل هذه المشكلة ..وجزاكم الله خير :lol:

SELECT  Sum(StuffUsed.Stu_Quntity) AS مستهلك,
 Sum (Sfen_Quntity-Sfen_Return) AS مدخل, 
 Sum(Stuff.Stf_SalCount) AS مباع

FROM (Stuff LEFT JOIN StuffUsed ON Stuff.Stf_ID = StuffUsed.Stu_StuffID)
 LEFT JOIN StuffEntry ON Stuff.Stf_ID = StuffEntry.Sfen_StuffID

WHERE
StuffUsed.Stu_StuffID=Stuff.Stf_StoreID
 AND StuffEntry.Sfen_StuffID=Stuff.Stf_StoreID
 AND Stuff.Stf_StoreID=1

GROUP BY Stuff.Stf_ID

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#2

هذا الملف

PG.rar

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#3

ربما هذا الرابط يفيد بعض الشيء

http://www.w3schools.com/sql/sql_groupby.asp

#4

مع الاسف.. لم يتغير شي مع :unsure: هذا

اقتباس
HAVING (((Sum(StuffUsed.Stu_Quntity))<>False)

OR ((Sum(Stuff.Stf_SalCount))<>False)

OR((Sum([sfen_Quntity]-[sfen_Return]))<>False));

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#5

شكرا أخي biskra

حليت نصف المشكلة الان هذا الكود يعمل بشكل جيد

SELECT Stuff.Stf_SalCount  AS مباع ,
Sum (Sfen_Quntity-Sfen_Return) AS مدخل 

FROM  StufF,StuffEntry

 WHERE((Stuff.Stf_StoreID)=1)

AND Sfen_StuffID=Stf_ID

GROUP BY Stuff.Stf_ID ,Stf_SalCount 
HAVING

 Sum (Sfen_Quntity-Sfen_Return)<>False

ولكن عند إضافة بيانات من جدول ثالث

لاتظهر الارقام عليه بشكل صحيح بل تظهر القيم مضروبه في عدد سجلاتها

SELECT Stuff.Stf_SalCount  AS مباع ,
Sum (Sfen_Quntity-Sfen_Return) AS مدخل ,
  Sum(StuffUsed.Stu_Quntity) AS مستهلك

FROM  StufF,StuffEntry,StuffUsed

 WHERE((Stuff.Stf_StoreID)=1)

AND Sfen_StuffID=Stf_ID
AND Stu_StuffID=Stf_ID

GROUP BY Stuff.Stf_ID ,Stf_SalCount 
HAVING

 Sum (Sfen_Quntity-Sfen_Return)<>False 

AND Sum(StuffUsed.Stu_Quntity)<>False

انتظر حلولكم .................. :(

تم تعديل هذه المشاركة بواسطة POWER _GIRL في 6 مايو 2005 في 10:16

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#6

هذا مثال إن شاء الله يفيدج

db2.rar

#7

أستاذة Power Girl

المشكلة موجودة فقط في عدم وجود علاقة مباشرة بين الجدولين StuffUsed , StuffEntry و إلا لأمكن الاستعلام بطريقة اعتيادية .

إذا كنت من محبي استخدام الفارة :

- قومي بعمل استعلام تجميعي مستقل لكل جدول من الجدولين المذكورين أعلاه ( في المثال المعدّل QueryEntry , QueryUsed )

- قومي بعمل استعلام للجدولين معاً ( في المثال المعدّل Query2Quereis ) ، فتكون النتيجة التي تريدين .

أمّا إذا كنت من محبي كتابة الكود حينها يجب أن تكتبي

- Main Query لجدولي Stuff + StuffEntry

- SubQuery لجدول StuffUsed

- في المثال االمعدّل MySQLStatment

- MySQLStatment2 هو نفس الاستعلام و لكن بقلب الجداول .

على كل حال الملف المعدّل يحتوي على الحلين ، إضافة لملف وورد فيه الاستعلام مكتوباً.

تمنياتي لك بالتوفيق الدائم.

اقتباس
SELECT

Stuff.Stf_ID AS ID,

Sum (Stuff.Stf_SalCount) AS nCount,

Sum (StuffEntry.Sfen_Quntity) AS nSumQty,

Sum (StuffEntry.Sfen_Return) AS nSumReturn,

Sum (StuffEntry.Sfen_Quntity - StuffEntry.Sfen_Return) AS nDefference,

( SELECT Sum (StuffUsed.Stu_Quntity)

  FROM StuffUsed

  WHERE Stuff.Stf_ID = StuffUsed.Stu_StuffID

  GROUP BY Stuff.Stf_ID ; ) AS nQty

FROM Stuff, StuffEntry

WHERE Stuff.Stf_ID = StuffEntry.Sfen_StuffID

GROUP BY Stuff.Stf_ID ;

UrPG.zip

#8

أخيـ pino

مثالك مشابه لمثالي :unsure: لكنه يعمل بشكل جيد لديك

لأنك تستخدم جدولين وليس ثلاث.. شكرا على المحاولة

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#9

أشكرك يأستاذي :lol: Salah69

سأنظر للإستعلام .. والكود فأنا أفضل جمل SQL

فالواجهات على الفيجول 6

وسأعود لك في حال توقفي

تحياتي لك :lol:

تم تعديل هذه المشاركة بواسطة POWER _GIRL في 9 مايو 2005 في 13:59

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

#10

يعطيك ربي ألف ألف ألف ألف عافية

وصحة وراحة بال

بجد أشكرك كود جميل ومفهوم والنتائج

هوا المطلوب الله يزيدك علم ودين

:lol: :lol: :lol: :lol: :lol: :lol: تحياتي لك,--

<< CLICK TO START>>

post-41869-046528000%201305052277.jpg

ليس أن تجد حلا بل أن تجد الافضل

أن تصـــنع الخـيال هذا هوا الأفضل</span>

هذا الموضوع مغلق.

مواضيع مشابهة