السلام عليكم
هل يمكنني حساب حقل بــ SQL بشرطين مختلفين في Query1 واحدة
مثلا
حساب حقل Mont على الشرط الأول
كود :
Select SUM (Mont)
from TA1
where Mois=1
حساب حقل Mont على الشرط الثاني
كود :
Select SUM (Mont)
from TA1
where Mois>1
وشكر ا لكم
هل تود حساب النتيجة بشرطين مختلفين في نفس الوقت ؟
PHP كود :
Select SUM (Mont) from TA1 where Mois=1 or Mois>1
السلام عليكم...
نعم يمكنك ذلك باستعمال الاستعلامات الفرعية (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).
نرجو الاستفادة و السلام.
شكرا لك أخي Najy Ibraheem
هذا هو المقصود بالضبط يكون في الاستعلام حقلان
لكن لم تنجح معي عند تغيير خاصية Query1.Active الى True
يضهر خطاء في السطر الثاني وهو
Utilisation incorrecte de mot -clé . Elément Select Numéro de ligne :2
اسلام عليكم...
الكود الذي كتيته في مشاركتي السابقة جربته مع قاعدة بيانات 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
نرجو الاستفادة و السلام.
السلام عليكم
شكرا Najy Ibraheem
إقتباس :
أحد الحلول في حالة Access أن تنشئ استعلامين داخل Access (مثلاً Query1 و Query2) بحيث يكون كل استعلام لشرط واحد و باسم حقل (Alias) مختلف:
وهذا ما اعمل به منذ فترة .
اردت اختصار الأمور بتجربت طريقة اخرى لكن للئسف على العموم شكرا جزيلا لك وللجميع
السلام عليكم...
فقط توضيح لبقية الإخوة هو أن المطلوب حقلين أو عمودين لمجموع القيم في الحقل Mont: واحد لمجموع القيم المقابلة للقيمة 1 في الحقل Mois، و الآخر لمجموع القيم المقابلة للقيم الأكبر من 1 في الحقل Mois.
سلام.