السلام عليكم اخواني
عندي مشكلة في ال Stored procedure او الاجراء المخزن
والمشكلة كالاتى
عندي هذا الاجراء المخزن وشغال تمام زي ما موضح بالصورة ومجموعه مظبوط 22
ولكن لما بحاول اضيف جمع لعامود ثاني من Table ثاني بيحصل مشكلة وهي ان الارقام مش بتكون صحيحه كما موضح بالصورة
طبعاً مجموع عامود ال Total Received الصحيح هو 22 كما موضح في اول صورة وليس 68
ومجموع ثاني عامود 134 مظبوط فعلا 134 ولكن المشكلة عند اضافه ثان عامود كما موضح بالصور بيحصل لخبطه في مجموع ال Total Received
بتمني حد يساعدني في حل المشكلة دى
شكراً لكم
وعليكم السلام ورحمة الله وبركاته
المشكلة عندك أنك : طلبت جمع قيمة عمود في جدول1 ، ثم جمع قيمة عمود من جدول 2
ثم كتب الكل من جدول1 (وهنا حدث الخطأ - لفأن كل عمود من جدول مختلف عن الثاني، فكيف تنسب الجميع لجدول واحد)
التصحيح :
كود :
Select
Sum(Quantity) As 'Total Received' From TBL_Products_Received_Details
UNION ALL
Sum(Quantity) As 'Total Outgoing' From TBL_Outgoing_Products_Details
لا تنسى التأكد من الكود ربما فيه أخطاء إملائية ..
(07-10-22, 05:25 AM)Taha Okla كتب : [ -> ]وعليكم السلام ورحمة الله وبركاته
المشكلة عندك أنك : طلبت جمع قيمة عمود في جدول1 ، ثم جمع قيمة عمود من جدول 2
ثم كتب الكل من جدول1 (وهنا حدث الخطأ - لفأن كل عمود من جدول مختلف عن الثاني، فكيف تنسب الجميع لجدول واحد)
التصحيح :
كود :
Select
Sum(Quantity) As 'Total Received' From TBL_Products_Received_Details
UNION ALL
Sum(Quantity) As 'Total Outgoing' From TBL_Outgoing_Products_Details
لا تنسى التأكد من الكود ربما فيه أخطاء إملائية ..
شكراً جداً اخوي علي مساعدتك
فعلا الاستعلام دلوقتي شغال تمام ولكن فيه مشكلة واحده وهي ان مجموع القيمتين بيبقوا تحت بعض زي كدا
المفروض يكون مجموع كل قيمه في عامود مختلف مش تحت بعض
ازاى بقدر اخلي كل مجموع قيمه في عامود مختلف
ولك جزيل الشكر اخوي
شكراً جداً علي مساعدتك
(12-10-22, 09:16 AM)Meen2 كتب : [ -> ]PHP كود :
SELECT TBL_Products_Received_Details.Product_S_N AS 'Product SN',
SUM(TBL_Products_Received_Details.Quantity) AS 'Total Received',
SUM(TBL_Outgoing_Products_Details.Quantity) AS 'Total Outgoing'
FROM TBL_Products_Received_Details
INNER JOIN TBL_Outgoing_Products_Details
ON TBL_Outgoing_Products_Details.Product_S_N = TBL_Products_Received_Details.Product_S_N
GROUP BY TBL_Products_Received_Details.Product_S_N
السلام عليكم اخوي
شكرا جداً ليك ولكن الاستعلام مش بينفذ اللي محتاجه وايضاً بيجيب مجموع الارقام غلط
بتمني حد يساعدني في حل المشكلة دي .. شكراً مقدماً
(12-10-22, 01:01 PM)maxruined كتب : [ -> ] (12-10-22, 09:16 AM)Meen2 كتب : [ -> ]PHP كود :
SELECT TBL_Products_Received_Details.Product_S_N AS 'Product SN',
SUM(TBL_Products_Received_Details.Quantity) AS 'Total Received',
SUM(TBL_Outgoing_Products_Details.Quantity) AS 'Total Outgoing'
FROM TBL_Products_Received_Details
INNER JOIN TBL_Outgoing_Products_Details
ON TBL_Outgoing_Products_Details.Product_S_N = TBL_Products_Received_Details.Product_S_N
GROUP BY TBL_Products_Received_Details.Product_S_N
السلام عليكم اخوي
شكرا جداً ليك ولكن الاستعلام مش بينفذ اللي محتاجه وايضاً بيجيب مجموع الارقام غلط
بتمني حد يساعدني في حل المشكلة دي .. شكراً مقدماً
عندما تريد تنفيذ هذا الكود يجب أن لا يكون هناك قيم مكررة لكل مفتاح رئيسي في كلا الجدولين(يعني فقط سجل في كل جدول)،
فأي سجل من جدول يرتبط بسجلين أو أكثر من جدول آخر : يقوم بمضاعفة تلك القيم للسجل المفرد بعدد السجلات المرتبط بها من الجدول الآخر
(وعليه يكون هناك خطأ بالقيم الناتجة)..
هذا توضيح لسبب المشكلة الناتجة .. (لا أعلم لها حل).
ربما غيري لديه طريقة - أو يفهم المشكلة ويجد لها حل.
==
فلا أعلم حتى الان حل سوى الحل الذي طرحته في مشاركتي الأولى هنا.
(12-10-22, 02:53 PM)Taha Okla كتب : [ -> ]عندما تريد تنفيذ هذا الكود يجب أن لا يكون هناك قيم مكررة لكل مفتاح رئيسي في كلا الجدولين(يعني فقط سجل في كل جدول)،
فأي سجل من جدول يرتبط بسجلين أو أكثر من جدول آخر : يقوم بمضاعفة تلك القيم للسجل المفرد بعدد السجلات المرتبط بها من الجدول الآخر
(وعليه يكون هناك خطأ بالقيم الناتجة)..
هذا توضيح لسبب المشكلة الناتجة .. (لا أعلم لها حل).
ربما غيري لديه طريقة - أو يفهم المشكلة ويجد لها حل.
==
فلا أعلم حتى الان حل سوى الحل الذي طرحته في مشاركتي الأولى هنا.
انا مع الاخ طه
فقد شعرت ان هناك خطا في قاعدة البيانات
فالافضل ان ترفق سكريبت قاعدة البيانات للتاكد وعدم المضي في طريق مشكوك في اساسه
(12-10-22, 02:53 PM)Taha Okla كتب : [ -> ] (12-10-22, 01:01 PM)maxruined كتب : [ -> ] (12-10-22, 09:16 AM)Meen2 كتب : [ -> ]PHP كود :
SELECT TBL_Products_Received_Details.Product_S_N AS 'Product SN',
SUM(TBL_Products_Received_Details.Quantity) AS 'Total Received',
SUM(TBL_Outgoing_Products_Details.Quantity) AS 'Total Outgoing'
FROM TBL_Products_Received_Details
INNER JOIN TBL_Outgoing_Products_Details
ON TBL_Outgoing_Products_Details.Product_S_N = TBL_Products_Received_Details.Product_S_N
GROUP BY TBL_Products_Received_Details.Product_S_N
السلام عليكم اخوي
شكرا جداً ليك ولكن الاستعلام مش بينفذ اللي محتاجه وايضاً بيجيب مجموع الارقام غلط
بتمني حد يساعدني في حل المشكلة دي .. شكراً مقدماً
عندما تريد تنفيذ هذا الكود يجب أن لا يكون هناك قيم مكررة لكل مفتاح رئيسي في كلا الجدولين(يعني فقط سجل في كل جدول)،
فأي سجل من جدول يرتبط بسجلين أو أكثر من جدول آخر : يقوم بمضاعفة تلك القيم للسجل المفرد بعدد السجلات المرتبط بها من الجدول الآخر
(وعليه يكون هناك خطأ بالقيم الناتجة)..
هذا توضيح لسبب المشكلة الناتجة .. (لا أعلم لها حل).
ربما غيري لديه طريقة - أو يفهم المشكلة ويجد لها حل.
==
فلا أعلم حتى الان حل سوى الحل الذي طرحته في مشاركتي الأولى هنا.
شكرا جداً اخوي طه انشاء الله بحاول وبجد حل ولو وجدته هطرحه بالمنتدي هنا
شكراً جزلاً لك
(12-10-22, 11:46 PM)Meen2 كتب : [ -> ] (12-10-22, 02:53 PM)Taha Okla كتب : [ -> ]عندما تريد تنفيذ هذا الكود يجب أن لا يكون هناك قيم مكررة لكل مفتاح رئيسي في كلا الجدولين(يعني فقط سجل في كل جدول)،
فأي سجل من جدول يرتبط بسجلين أو أكثر من جدول آخر : يقوم بمضاعفة تلك القيم للسجل المفرد بعدد السجلات المرتبط بها من الجدول الآخر
(وعليه يكون هناك خطأ بالقيم الناتجة)..
هذا توضيح لسبب المشكلة الناتجة .. (لا أعلم لها حل).
ربما غيري لديه طريقة - أو يفهم المشكلة ويجد لها حل.
==
فلا أعلم حتى الان حل سوى الحل الذي طرحته في مشاركتي الأولى هنا.
انا مع الاخ طه
فقد شعرت ان هناك خطا في قاعدة البيانات
فالافضل ان ترفق سكريبت قاعدة البيانات للتاكد وعدم المضي في طريق مشكوك في اساسه
السلام عليكم اخوي
دا السكريبت الخاص بقاعده البيانات بتمني تشوفة وتساعدني في حل المشكلة دى
مثل ما ذكر الأخ طه ما شاء الله تبارك الله، ملاحظة دقيقة
(12-10-22, 02:53 PM)Taha Okla كتب : [ -> ]عندما تريد تنفيذ هذا الكود يجب أن لا يكون هناك قيم مكررة لكل مفتاح رئيسي في كلا الجدولين(يعني فقط سجل في كل جدول)،
قم بإضافة عمود ID كمفتاح أساسي PrimaryKey من نوع ترقيم تلقائي Identity (في كلا الجدولين)
كود :
SELECT TBL_Products_Received_Details.Product_S_N AS 'Product SN',
SUM(TBL_Products_Received_Details.Quantity) AS 'Total Received',
SUM(TBL_Outgoing_Products_Details.Quantity) AS 'Total Outgoing'
FROM TBL_Products_Received_Details
INNER JOIN TBL_Outgoing_Products_Details
ON TBL_Outgoing_Products_Details.ID = TBL_Products_Received_Details.ID
GROUP BY TBL_Products_Received_Details.Product_S_N
(15-10-22, 04:37 PM)Meen2 كتب : [ -> ]مثل ما ذكر الأخ طه ما شاء الله تبارك الله، ملاحظة دقيقة
(12-10-22, 02:53 PM)Taha Okla كتب : [ -> ]عندما تريد تنفيذ هذا الكود يجب أن لا يكون هناك قيم مكررة لكل مفتاح رئيسي في كلا الجدولين(يعني فقط سجل في كل جدول)،
قم بإضافة عمود ID كمفتاح أساسي PrimaryKey من نوع ترقيم تلقائي Identity (في كلا الجدولين)
كود :
SELECT TBL_Products_Received_Details.Product_S_N AS 'Product SN',
SUM(TBL_Products_Received_Details.Quantity) AS 'Total Received',
SUM(TBL_Outgoing_Products_Details.Quantity) AS 'Total Outgoing'
FROM TBL_Products_Received_Details
INNER JOIN TBL_Outgoing_Products_Details
ON TBL_Outgoing_Products_Details.ID = TBL_Products_Received_Details.ID
GROUP BY TBL_Products_Received_Details.Product_S_N
السلام عليكم اخوي
حقيقي شكراً جداً على تفاعلك معي
انا عملت كدا بالفعل ولكن للاسف مش بيعطيني مجموع كل القيم مظبوط مثل ما انا كاتب بالاستعلام
يعني مثلا دا الجدول الاول اللي بجيب منه كل مجموع قيم ال Quantity
للعلم لو تم إضافه سطر جديد الاستعلام اللى تحت مش بيشوفه اصلا
ودا صورة الجدول الثانى اللي بجيب منه كل مجموع قيم Quantity
ودا شكل الاستعلام وزى ما موضح بالصورة انه جايب فقط كل قيم العامود الاول وهو Total Received صحيحه ولكن مثل ما ذكرت فوق انه لو تم اضافه سطر جديد في [b]العامود الاول وهو Total Received مش هيجيب غير ال 6 اسطر دول فقط [/b]
وبالنسبة للجدول الثانى فالمفروض تكون القيم كالاتي
الصنف الاول وهو 4011 المفروض تكون قيمته 26 وليس 12
الصنف الاول وهو 4012 المفروض تكون قيمته 4 وليس 2
الصنف الاول وهو 4013 المفروض تكون قيمته 31 وليس 8
الصنف الاول وهو 4014 المفروض تكون قيمته 4 وليس 1
الصنف الاول وهو 4015 المفروض تكون قيمته 55 وليس 18
الصنف الاول وهو 4016 المفروض تكون قيمته 5 وليس 3
بتمني مساعدتي في حل المشكلة دى حقيقي مش عارف المشكلة من فين ... هتجنني