31-10-16, 11:34 PM
(آخر تعديل لهذه المشاركة : 31-10-16, 11:42 PM {2} بواسطة اليوم مبتدئة وغداً محترفة.)
(31-10-16, 07:21 AM)أبو عمر كتب : الواجب ان لا يكون رقم الفاتورة صفر اساسااااااااااا
كيف يتم كتابة سند لفاتورة ليس لها وجوووود
ماهو هذا سبب المشكلة
يمكن أن يكون السند مرتبط بفاتورة (في حال كان دفعة من فاتورة آجلة)
ويمكن أن يكون السند غير مرتبط بفاتورة (لأي غرض آخر غير بيع وشراء المنتجات)
(31-10-16, 09:32 AM)myalsailamy كتب : اعتقد ان كلام الاخ عمر في محله في خصوص الترقيم و لكن لنأخذ المنحنى الخاص بك و نتجاهل القوانين و نحاول حل المشكله ، لدينا هنا ثلاثة جداول الجدول الاساسي منها هنا هو جدول العملاء و هذا شيء جيد اي مضمون تظهر نتائج بناءاً على بيانات هذا الجدول ، ننتقل الى الجزء الاخر وهو كيف سنقوم في حالة ان الفاتوره رقم السند بها هو صفر لنجعلها تظهر في نتائج الاستعلام !! ، نصل الى استنتاج وهو أن نطلب من الكويري المنفذه ان لا تهتم بجدول السندات الا اذا كانت قيمته اعلى من الصفر ، بمعنى أخر اذا كان رقم السند أكبر من الصفر فأتي بمعلومات السند ، غير ذلك أرجع لي قيمه فارغه و لا تلغي الفاتوره لانه ليس لها سند ، طبعا هذه المشكله تحل باستخدام LEFT JOIN ومعناها اعتمد بشكل الاساسي على الجدول الذي بيسار الاستعلام ، بدلاً عن INNER JOIN التي لابد من توفر البيانات في الجدولين ، في هذا الموضوع يتضح لك الفرق بين هذين النوعين :
- LEFT JOIN
http://www.w3schools.com/sql/sql_join_left.asp
-INNER JOIN
http://www.w3schools.com/sql/sql_join_inner.asp
انظري الى الصورة التي بالروابط و ان شاء الله ستفهمي الفرق بينها
جربت left join وما عطتني النتيجة اللي ابغاها
لكن بالصدفة وجدت شي اسمه full join وقربني جدددا من النتيجة اللي ابغاها
كود :
select * from vouchers full join bills on vouchers.bill_id=bills.bill_id full join suppliers on bills.supplier_id = suppliers.supplier_no and suppliers.supplier_no = vouchers.supplier_noهذا الكود اللي وصلت له بعد محاولات عديدة وطوييييييييييلة بس ما عطاني الغرض اللي ابغاه تماما
اتمنى لو احد يساعدني ويعدله
