delphi4arab منتديات دلفي للعرب
حساب حقل بشرطين مختلفين بــ sql - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : حساب حقل بشرطين مختلفين بــ sql (/showthread.php?tid=4884)



حساب حقل بشرطين مختلفين بــ sql - FARID - 17-01-2013

السلام عليكم
هل يمكنني حساب حقل بــ SQL بشرطين مختلفين في Query1 واحدة
مثلا
حساب حقل Mont على الشرط الأول
كود :
Select SUM (Mont) from TA1 where Mois=1


حساب حقل Mont على الشرط الثاني
كود :
Select SUM (Mont) from TA1 where Mois>1

وشكر ا لكم


حساب حقل بشرطين مختلفين بــ sql - لؤي - 17-01-2013

هل تود حساب النتيجة بشرطين مختلفين في نفس الوقت ؟

PHP كود :
Select SUM (Mont)  from TA1 where Mois=1 or Mois>1 



حساب حقل بشرطين مختلفين بــ sql - Najy Ibraheem - 17-01-2013

السلام عليكم...

نعم يمكنك ذلك باستعمال الاستعلامات الفرعية (Sub-query) كالتالي:

كود :
SELECT (SELECT SUM(Mont) FROM TA1 WHERE (Mois = 1)) AS Mont1, (SELECT SUM(Mont) FROM TA1 WHERE (Mois > 1)) AS Mont2

و سيكون لديك في الاستعلام حقلان هما Mont1 (من أجل Mois=1) و Mont2 (من أجل Mois>1).

نرجو الاستفادة و السلام.


حساب حقل بشرطين مختلفين بــ sql - FARID - 17-01-2013

شكرا لك أخي Najy Ibraheem
هذا هو المقصود بالضبط يكون في الاستعلام حقلان
لكن لم تنجح معي عند تغيير خاصية Query1.Active الى True
يضهر خطاء في السطر الثاني وهو
Utilisation incorrecte de mot -clé . Elément Select Numéro de ligne :2


حساب حقل بشرطين مختلفين بــ sql - Najy Ibraheem - 18-01-2013

اسلام عليكم...

الكود الذي كتيته في مشاركتي السابقة جربته مع قاعدة بيانات SQL Server و باستخدام TADOQuery و هو يعمل بشكل صحيح حسب المتوقع.

لكن عندما جربت نفس الجملة مع Access (داخل Access نفسه) فإنه يعترض عليها و يطلب ذكر الجدول خارج الاستعلامين الفرعيين، و في تلك الحالة سيتم إنتاج سجلات ببيانات مكررة حسب عدد سجلات الجدول!

أحد الحلول في حالة Access أن تنشئ استعلامين داخل Access (مثلاً Query1 و Query2) بحيث يكون كل استعلام لشرط واحد و باسم حقل (Alias) مختلف:

كود :
Query1: SELECT SUM(Mont) AS Mont1 FROM TA1 WHERE (Mois = 1) Query2: SELECT SUM(Mont) AS Mont2 FROM TA1 WHERE (Mois > 1)

ثم تجمعهما من خلال دلفي كالتالي:
كود :
SELECT * FROM Query1, Query2

نرجو الاستفادة و السلام.


حساب حقل بشرطين مختلفين بــ sql - تلميذ الحياة - 18-01-2013

السلام عليكم


كود :
Select SUM (Mont) from TA1 where Mois>=1



حساب حقل بشرطين مختلفين بــ sql - FARID - 18-01-2013

السلام عليكم
شكرا Najy Ibraheem
إقتباس :
أحد الحلول في حالة Access أن تنشئ استعلامين داخل Access (مثلاً Query1 و Query2) بحيث يكون كل استعلام لشرط واحد و باسم حقل (Alias) مختلف:
وهذا ما اعمل به منذ فترة .
اردت اختصار الأمور بتجربت طريقة اخرى لكن للئسف على العموم شكرا جزيلا لك وللجميع


حساب حقل بشرطين مختلفين بــ sql - Najy Ibraheem - 19-01-2013

السلام عليكم...

فقط توضيح لبقية الإخوة هو أن المطلوب حقلين أو عمودين لمجموع القيم في الحقل Mont: واحد لمجموع القيم المقابلة للقيمة 1 في الحقل Mois، و الآخر لمجموع القيم المقابلة للقيم الأكبر من 1 في الحقل Mois.

سلام.