المشاركات : 66
المواضيع 30
:
: 36
الإنتساب : Sep 2012
03-04-2017, 10:08 AM
(آخر تعديل لهذه المشاركة: 04-04-2017, 08:53 AM بواسطة محمد عبد العزيز.)
السلام عليكم ورحمة الله تعالى وبركاته
كيف بناء تعليمة sql لحساب كمية المخزونات انطلاقا من المبيعات والمشتريات كما هو موضح في المعطيات التالية:
- جدول المنتجات Produits يحتوي على كود المنتج Code_Produit (مفتاح رئيسي) وخصائص المنتج Dest_Produit.
- جدول المشتريات Achat يحتوي على رقم العملية Code_achat (مفتاح رئيسي) و كود المنتج (مفتاح تانوي) code_produit، والكمية qte_achat.
- جدول المبيعات Ventsيحتوي على رقم العملية Code_Vent (مفتاح رئيسي) و كود المنتج (مفتاح تانوي) code_produit، والكمية qte_vent.
المطلوب:
بناء تعليمة تعرض جميع المنتجات المتواجدة في جدول المنتجات produit و خصائصها Dest_produit والكمية المتبقية في المخزون( طرح الكمية المباعة qte_vent من الكمية المشترات qte_achat لكل منتج)
وبارك الله فيكم
المشاركات : 86
المواضيع 1
:
: 12
الإنتساب : Mar 2017
المشاركات : 1,677
المواضيع 349
:
: 1,069
الإنتساب : Nov 2013
قل: اللهم فاطِرَ السماوات والأرض عالم الغيبِ والشهادة، ربَّ كُلِّ شَيءٍ ومَلِيكَه، أَشْهد أن لا إله إلا أنت، أعوذ بك من شرِّ نفسي وشرِّ الشيطان وشِرْكِهِ وأن أقترف على نفسي سوءًا أو أجرُّه إلى مسلم
المشاركات : 66
المواضيع 30
:
: 36
الإنتساب : Sep 2012
(03-04-2017, 06:51 PM)Mustapha29 كتب : 1- ما نوع قاعدة البيانات
sql server 2008
المشاركات : 86
المواضيع 1
:
: 12
الإنتساب : Mar 2017
حتى لا أدعك تنتظر حاول تعديل الكود الأتي بما يلبي رغباتك
SQL
كود :
SELECT T.NU, T.Prd_U, (SELECT sum(E.Qte_e) FROM T_Entrees E WHERE E.NP_e = T.NU) AS QTE, (SELECT sum(S.Qte_LF) FROM T_Ligne_Fact S WHERE S.N_LF = T.NU) AS QTS, [QTE]-[QTS] AS Reste
FROM t_produits AS T;
المشاركات : 66
المواضيع 30
:
: 36
الإنتساب : Sep 2012
04-04-2017, 09:55 PM
(آخر تعديل لهذه المشاركة: 05-04-2017, 09:32 AM بواسطة محمد عبد العزيز.)
شكرا جزيلا .. جاري التجربرة
التعليمة لم تفلح معي

أو بالأحرى محاولتي فاشلة لسببين :
1- لم أفهم معاني بعض الترميزات مثل:
هل اسم جدول المدخلات E، أم t_Entrees وجدول المخرجات هل هو S أم T_ligne_fact
2- sql server لم يقم بالطرح [QTE]-[QTS] ولم يتعرف عليه أصلا.
3- عندما قمت بالعملية في قاعدة بيانات access يطالبني بإدخال قيمة code_produit (لذيك T.NU)
هاته هي المحاولة الخاصة بي:
كود :
SELECT PRODUIT.code_prod AS Expr1, PRODUIT.dest_prod AS Expr2, (SELECT sum(achat.qte) FROM achat WHERE achat.code_prod = produit.code_prod) AS QTE_E, (SELECT sum(vendre.qte_vent) FROM vendre WHERE vendre.code_prod = produit.code_prod) AS QTS, [QTE_E]-[QTS] AS Reste
FROM PRODUIT AS T;
المشاركات : 66
المواضيع 30
:
: 36
الإنتساب : Sep 2012
04-04-2017, 11:09 PM
(آخر تعديل لهذه المشاركة: 05-04-2017, 09:32 AM بواسطة محمد عبد العزيز.)
الكود بعد التصحيح
SELECT T.code_prod, T.dest_prod, (SELECT Nz( sum(Qte),0) FROM achat AS E WHERE E.code_prod = T.code_prod) AS QTE_E, (SELECT Nz(sum(qte_vent),0) FROM vendre AS S WHERE S.code_prod = T.code_prod) AS QTS, [QTE_E]-[QTS] AS Reste
FROM PRODUIT AS T;
المشاركات : 86
المواضيع 1
:
: 12
الإنتساب : Mar 2017
(04-04-2017, 11:09 PM)nacertaker كتب : الكود بعد التصحيح
SELECT T.code_prod, T.dest_prod, (SELECT Nz( sum(Qte),0) FROM achat AS E WHERE E.code_prod = T.code_prod) AS QTE_E, (SELECT Nz(sum(qte_vent),0) FROM vendre AS S WHERE S.code_prod = T.code_prod) AS QTS, [QTE_E]-[QTS] AS Reste
FROM PRODUIT AS T;
هذا الكود بعد التصحيح اشتغل أم لا ؟
لأن الذي بعثته لك يشتغل معي و أنا متأكد و خاصة في Access يشتغل مية مية
المشاركات : 66
المواضيع 30
:
: 36
الإنتساب : Sep 2012
(05-04-2017, 12:31 PM)Mustapha29 كتب : (04-04-2017, 11:09 PM)nacertaker كتب : الكود بعد التصحيح
SELECT T.code_prod, T.dest_prod, (SELECT Nz( sum(Qte),0) FROM achat AS E WHERE E.code_prod = T.code_prod) AS QTE_E, (SELECT Nz(sum(qte_vent),0) FROM vendre AS S WHERE S.code_prod = T.code_prod) AS QTS, [QTE_E]-[QTS] AS Reste
FROM PRODUIT AS T;
هذا الكود بعد التصحيح اشتغل أم لا ؟
لأن الذي بعثته لك يشتغل معي و أنا متأكد و خاصة في Access يشتغل مية مية
الكود الذي كتبته صحيح ويعمل 100% على الأكسس ، كلما قمت به هو إضافة القيمة 0 إذا كانت القيم فارغة ، لكنهلا يعمل على sql server
شكرا مرة أخرى.
المشاركات : 86
المواضيع 1
:
: 12
الإنتساب : Mar 2017
استعمل بدل Nz ---> SELECT COALESCE([Qte], 0) FROM .........