تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة في ال Stored Procedure - ( الاجراء المخزن )
#18
(16-10-22, 06:35 PM)Taha Okla كتب :
(16-10-22, 12:56 PM)maxruined كتب :
(16-10-22, 12:16 PM)Meen2 كتب :
إقتباس :تستخدم العبارة DISTINCT للحصول على قيمٍ فريدةٍ غير مكررة، وغالبًا ما تستخدم في استعلام SELECT للحصول على سجلات لا تتكرر القيم فيما بينها، إذ يصبح الاستعلام بالشكل الآتي:

حقيقي اخوي شكراً جداً علي مساعدتك

ولكن سؤال اخير انا المفروض معنديش اي قيم متطابقه علشان استخدم هذا الامر ولكن الحقيقه هو اشتغل تمام ولكن مش فاهم ليه ؟؟ !! 
فين السجلات المتطابقه اصلا عندي !!!؟؟؟
حقيقي مش فاهم كويس ايه اللي بيحصل

القيم غير موجودة أساساً كما تفضلت - ولكن عند الربط بينها سيقوم كود الـ SQL  على تكرار تلك القيم (إعتماداً على مطابقات رياضية كنوع يشبه التراتيب والتوافيق) لكي لا يصبح في الجدول الجديد حقول من الجدول الأول لا يطابقها حقول من الجدول الثاني (وهذا هو سبب الخطأ الذي حدث معك في نواتج عملية الجمع).

ومع ذلك حتى الكود الذي طرحه الأخ (Meen2)  ليس بالكود القياسي حتى الآن (من وجهة نظري- ربما غير له وجهة نظر أخرى) فـ بالرغم من تطابق الحلول حالياً لكن أظن أنه سينشأ عن ذلك أخطاء في المستقبل لسبب أجهله.

أظن أن الحل هو : أن يتم عمل جدول (جدول إفتراضي عن طريق الكود) جديد ناتج عن الجدول الأول بواسطة الوظيفة (Group By) ليمنع تكرر القيم بل ليجمعها للحقل (Product_S_N)   أي (جدول جديد  عن كل جدول من الجدولين السابقين ). 
ومن هاذين الجدولين الجديدين يقوم بتطبيق خاصية (INNER JOIN) مع خاصية الجمع للحقيلن المطلوبين فتحصل على الهدف،،

كنت أود أن أقدم هذا الحل، لكن  للأسف ليس على أي جهاز من أجهزتي، برنامج الـ SQL ولا أرغب بتنزيله حالياً..
وصعب علي التخيل بدون تجريب (فلست بالمحترف أو المتخصص في هذا المجال، ولكن يبقى عندي حدس يرشدني للحل الأصح والأسلم).

أما سبب عدم تعاملي مع قواعد الـ SQL : (من وجهة نظري) لا أظن أن هناك داعي له ما دام قواعد الـ Ms.Access  تفي بالغرض لكل البرامج التي أتعامل بها حتى الآن، فهي تعطيني أكثر مما أطلبه منها وزيادة على بساطة الاستخدام و والاتصال والوصول والآمان الغير موجود في الـ قواعد الـ  SQL.، قواعد الـ MS.Access عن تجربة تستوعب بيانات حتى 2G بدون مشاكل وسريعة الاستجابة. وكـ برامج حسابية أتعامل بها لا تستلزم أصلاً ربع هذا الحجم فلما أعقد برامجي وأثقل أجهزتي ببرامج لا داعي لها..
قواعد الـ SQL تبدو الضرورة لها في برامج الأرشيف  كـ برامج العلاقات العامة والمواقع المنتديات  وليس برامج الحسابات(في الشبكات الداخلية).
شكراً جدا اخوي طه علي المعلومات القيمه وعلي مساعدتك حقيقي استفدنا منك كتير 
بارك الله فيك

(17-10-22, 10:37 AM)Meen2 كتب : ما شاء الله أستاذ طه



(16-10-22, 06:35 PM)Taha Okla كتب : القيم غير موجودة أساساً كما تفضلت - ولكن عند الربط بينها سيقوم كود الـ SQL  على تكرار تلك القيم (إعتماداً على مطابقات رياضية كنوع يشبه التراتيب والتوافيق) لكي لا يصبح في الجدول الجديد حقول من الجدول الأول لا يطابقها حقول من الجدول الثاني (وهذا هو سبب الخطأ الذي حدث معك في نواتج عملية الجمع).
تحليل استفدت منه

(16-10-22, 06:35 PM)Taha Okla كتب : الكود الذي طرحه الأخ (Meen2)  ليس بالكود القياسي حتى الآن (من وجهة نظري- ربما غير له وجهة نظر أخرى) فـ بالرغم من تطابق الحلول حالياً لكن أظن أنه سينشأ عن ذلك أخطاء في المستقبل لسبب أجهله.
فعلا الحل الذي قدمته انا ليس بالكود القياسي لأنني كنت أسير بطريقة صاحب السؤال

(16-10-22, 06:35 PM)Taha Okla كتب : أظن أن الحل هو : أن يتم عمل جدول (جدول إفتراضي عن طريق الكود) جديد ناتج عن الجدول الأول بواسطة الوظيفة (Group By) ليمنع تكرر القيم بل ليجمعها للحقل (Product_S_N)   أي (جدول جديد  عن كل جدول من الجدولين السابقين ). 
ومن هاذين الجدولين الجديدين يقوم بتطبيق خاصية (INNER JOIN) مع خاصية الجمع للحقيلن المطلوبين فتحصل على الهدف،،

الحل الأفضل المقدم من الأستاذ طه
كود :
CREATE  TABLE #ReceivedTable (SN INT, Qty INT)
CREATE  TABLE #OutgoingTable (SN INT, Total INT)

INSERT  INTO #ReceivedTable
SELECT  Product_S_N  AS SN,
        Quantity     AS Qty
FROM    TBL_Products_Received_Details

INSERT  INTO #OutgoingTable
SELECT  Product_S_N    AS SN,
        SUM(Quantity)  AS Total
FROM    TBL_Outgoing_Products_Details
GROUP   BY Product_S_N

SELECT  #ReceivedTable.SN     AS 'Product SN',
        #ReceivedTable.Qty    AS 'Total Received',
        #OutgoingTable.Total  AS 'Total Outgoing'
FROM    #ReceivedTable
INNER   JOIN #OutgoingTable
        ON   #OutgoingTable.SN = #ReceivedTable.SN
أو
كود :
CREATE  TABLE #OutgoingTable (SN INT, Total INT)

INSERT  INTO #OutgoingTable
SELECT  Product_S_N    AS SN,
        SUM(Quantity)  AS Total
FROM    TBL_Outgoing_Products_Details
GROUP   BY Product_S_N

SELECT  TBL_Products_Received_Details.Product_S_N  AS 'Product SN',
        TBL_Products_Received_Details.Quantity     AS 'Total Received',
        #OutgoingTable.Total                       AS 'Total Outgoing'
FROM    #OutgoingTable
INNER   JOIN TBL_Products_Received_Details
        ON   TBL_Products_Received_Details.Product_S_N = #OutgoingTable.SN


شكراً جداً جداً اخوي Meen2 علي مساعدتك ليا
حقيقي انا استفدت منكم جميعاً انت واخوي طه 
بارك الله فيكم
الرد }}}
تم الشكر بواسطة: Taha Okla , Meen2 , Meen2


الردود في هذا الموضوع
RE: مشكلة في ال Stored Procedure - ( الاجراء المخزن ) - بواسطة maxruined - 17-10-22, 12:59 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] مشكلة في مؤشر بايثون reem.564 0 262 08-05-25, 05:51 AM
آخر رد: reem.564
  [C#.NET] مشكلة عند عمل ال dataSet لعمل تقرير باستخدام ال Report Viewer ؟ Ashraf Baraka 0 322 04-12-24, 02:21 AM
آخر رد: Ashraf Baraka
  [C#.NET] مساعدة في مشكلة سورس كود kamel1978 5 1,010 30-11-24, 02:32 PM
آخر رد: altoki939
  مشكلة في اتصال سيد أحمد 2 434 24-09-24, 01:34 AM
آخر رد: Taha Okla
  [C#.NET] مشكلة حجم الادوات عند برمجة واجهات الويندوز Ahmed Alsharafi 1 463 03-08-24, 08:50 AM
آخر رد: WAEL ABED
Star [سؤال] مشكلة في السحب والأفلات داخل الفورم عند التصميم reduouo 1 622 02-03-24, 02:39 AM
آخر رد: Taha Okla
  مشكلة في المشاركة الدولية او خارج الشبكة issamsaid 1 927 22-11-23, 03:03 AM
آخر رد: HASAN6.0
  [تم الحل] مشكلة الاتصال بقاعده بيانات SQL على الشبكة maxruined 5 5,185 08-11-23, 01:00 AM
آخر رد: الحزين اليماني
  مشكلة في كلاس سطور الحياة 3 1,141 06-06-23, 09:47 AM
آخر رد: fouadhdfouad
  [سؤال] مشكلة في جملة التحديث سطور الحياة 4 1,389 02-06-23, 01:02 PM
آخر رد: سطور الحياة

التنقل السريع :


يقوم بقرائة الموضوع: