استعلام بواسطة زيادة ايام معينة ؟
#1
السلام عليكم :
اود ان اعمل استعلام يكون كالتالي : عندي جدول يحتوي على تاريخ معين ، اود ان اعمل استعلام في حال عند زيادة مثلاً 30 يوم على هذا التاريخ وكان اقل من NOW يدير كود معين ، كيف لي ان اصل لهذا المطلب حاولت ولكن فشلت المحاولة ، حيث المشكلة عندما اربط باراميتر بالاستعلام يعني مثلاً
PHP كود :
select * from customer where now-temp_date=:c 
حيث المطلوب تكون المدة 30 يوم ماذا اكتب في البارامتر c ولكم الشـــكر
الرد
#2
و عليكم السلام ورحمة الله

ممكن يساعدك هذا الكود بالنسبة للجزء الأول

إقتباس :استعلام في حال عند زيادة مثلاً 30 يوم على هذا التاريخ
كود :
adoquery1.Close; adoquery1.SQL.Clear ; adoquery1.Parameters.CreateParameter('date1',ftdate,pdInput,16,date).Value:=date+30; adoquery1.SQL.Add('select * from table1 where date_a =:date1'); adoquery1.Open;
نفس الشيئ بالنسبة

إقتباس :كان اقل من NOW
أضف بنفس الطريقة بارامتر وضع فيه القيمة NOW و أضف إلى شرطك التاريخ المعطى أقل من :البارامتر

هذا حسبما فهمت :unsure:

بالتوفيق
الرد
#3
وعليكم السلام ورحمة الله
هذا مثال مشابه للاستعلام عن المولودين قبل 1970
PHP كود :
'SELECT Customer client'
'WHERE (:Today - CustDate) > '
01-01-1970'
      
  ADOQuery.Close;
  ADOQuery.Parameters.ParamByName('
Today').Value := Date;
  ADOQuery.Prepared := True;
  ADOQuery.Open; 
حاول وجرب...
بالتوفيق.
الرد
#4
السلام عليكم :
شكراً على اجاباتكم يا اخوان انا **** عندما يكون الفرق بين تاريخ اليوم والتاريخ المخزن في قاعدة البيانات اكثر او يساوي 30 يظهر السجلات ... مثل هذا ولكن ناقص المقارنة هل يمكن ان تكملوه

كود :
select * ,datediff("d",:c,temp_date) as tempo from customers
حيث c: هي تاريخ اليوم date
الرد
#5
و عليكم السلام و رحمة الله

شرط بسيط

كود :
SELECT* from customers where (DateDiff('d',temp_date,Date () )< 30);
Date () هو تاريخ النظام

أي دون إستخدام بارامتر


بالتوفيق
الرد
#6
بارك الله فيك يا اخ عبد الجليل وجزاك الله خير الجزاء والله ممكن الصيام مأثر عليه ... شكراً لك
الرد
#7
و فيك بارك الله أخ عمار

إقتباس :والله ممكن الصيام مأثر عليه
بعد قليل يبدأ التأثير :laugh:


بالتوفيق
الرد
#8
السلام عليكم :
اخ عبد الجليل كلامك صحيح هههه بدأ التأثير فعلاً .. النتجية تظهر كافة السجلات هل يوجد مشكلة انا عندي اغلب السجلات تاريخها 24/8/2010 لليوم مفاتش 30 يوم ليش تظهر كل السجلات ...
الرد
#9
و عليكم السلام و رحمة الله

يبدو أن الشرط مقلوب جرب :

كود :
SELECT* from customers where (DateDiff('d',temp_date,Date () )>= 30);
إقتباس :تظهر كل السجلات
مستحيل أن تظهر إذا لم يتحقق الشرط

بالتوفيق
الرد
#10
الاخ عبد الجليل
سوق ارفق الآن ملف **** الانتظار
الرد


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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم