الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

استرجاع السجلات المضافة قبل اسبوع

بدأه sareh في 5 ديسمبر 2010 · 18 رد · 868 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخواني ابغى تعليمة sql تعيد لي السجلات المضافة في الداتا بيز

قبل اسبوع اوقبل شهر

يعني ابغى السجلات المضافة قبل اسبوع

وهذي محاولتي

select * from files where date =getdate()-7

جربت بهالطريقة ومامشى الحال ا احد ممكن يساعدني اويعدل لي التعليمة

وشكرا

#2

كلام مبهم .. وضح مشكلتك

اللهم أطل عمري وأحسن عملي واختم بالشهادة أجلي

#3

برجاء التوضيح أكثر

فمثلاً هل الجدول يحتوي على حقل يؤرخ تاريخ الإضافة؟؟

مع تحياتي

اللهم اجعلنا أهلاً لحمل رسالة العلم ونشرها

لتنعم أمة الإسلام بخير العلم ونوره

www.ijoul.com

#4

استخدم التعليمة التالية

 select * from files where  DATEADD(dd,DATEDIFF(dd,0,[date]),0)  = 
DATEADD(dd,DATEDIFF(dd,7,getdate()),0)

فهذه التعليمة تعيد التسجيلة المضافة في يوم واحد قبل اسبوع مثلا يوم الاثنين السابق اما اذا اردت جميع الملفات خلال اسبوع فضع بدل اليساوي اشارة اكبر

 select * from files where  DATEADD(dd,DATEDIFF(dd,0,[date]),0)  >= 
DATEADD(dd,DATEDIFF(dd,7,getdate()),0

)

طبعا الاضافات السابقة هي لازالة الوقت من التاريخ

#5

اخوان انا عندي حقل خاص بالتاريخ اسمه date

استاذ طارق مارايك بهذه التعليمة اريد رايك بها

select *
from files
where [date] < dateadd(wk,-1,getdate())

وشكرا

#6

نتيجة الاستعلام الاخير هي الملفات التي تاريخها قبل اسبوع من اليوم وليست التي في الاسبوع السابق يعني لو وجد ملف من عام 2000 سيتم ارجاعه . فهل هذا هو المطلوب لديك .

#7

لا يااستاذ انا اريد الملفات التي قبل اسبوع فقط

يالت تقولي اي تعليمة من اللي انت وضعتهم اختار

وشكرا

#8

الاستعلام هو

select * from files where  DATEADD(dd,DATEDIFF(dd,0,[date]),0)  >= 
DATEADD(dd,DATEDIFF(dd,       7      ,getdate()),0 )

وارجو التجريب بنفسك والتأكد من النتائج

ملاحظة : (7 ) هي عدد الايام السابقة اي قبل اسبوع .

#9

المشكلة استاذ طارق عندي الان انو يرجع جميع السجلات

التي قبل اسبوع واكثر انا ابغاه بس اللي قبل اسبوع

جربت مع التعليمة اللي وضعتها انت بس برضوا ماضبطعت

اذا انت متاكد منها ومجربها اكيد الخطا حيكون بالكود

ياليت تعطيني رايك

وشكرا

#10

قبل اسبوع يعني في يوم معين مثل الخميس ---> ضعي بدل >= اشارة يساوي =.

جربي التبديل بين الاشارات المختلفة > و < و >= .... حتى تصلي الى النتيجة المطلوبة .

#11

استاذ طارق للاسف مامشى الحال ممكن تعدل التعليمة لي

وشكرا

#12

السلام عليكم ورحمة الله وبركاته

اسمحوا لي بالمشاركة ..

يمكن استخدام جملة سيكويل التالية :

SELECT  *
FROM   Files
WHERE (DATEDIFF(day, date, GETDATE()) <= 7)
ORDER BY date

حيث date هو اسم الحقل في جدول files

وسيتم ارجاع النتائج مرتبة حسب عمود date من الأقدم إلى الأحدث ..

أرجو أن تعمل هذه الجملة معك بشكل صحيح إن شاء الله ،،

تم تعديل هذه المشاركة بواسطة Amr Ammar في 11 ديسمبر 2010 في 23:51

دروس فيديو مجانية ASP.NET باللغة العربية

http://www.amrammar.net/videos.aspx?id=1

دروس تصميم مشروع كامل لموقع أخبار تفاعلي

http://www.amrammar.net/default.aspx?id=5

#13

استاذ عملت مثل اللي قلت ولكن لاففائدة لااعلم ماهي المشكلة

فانا جربت اكثر من 12 تعليمة لم تعمل معي القاسم المشترك بها

انها تعيد لي جميع السجلات وفوق هذا مكررة

#14

الجملة التي أرفقتها تعمل معي بشكل صحيح وقد تم ارجاع 32 سجل فقط من أكثر من 13200 سجل في قاعدة بيانات حقيقية .. وبالمناسبة فقد قمت بتجربة الجملة التي ذكرها الأخ الفاضل TareqVB وأعطت نفس النتيجة أيضا أي 32 سجل من 13200 سجل .. والتواريخ كانت من يوم 6 ديسمبر إلى 11 ديسمبر 2010 وقد تم تنفيذ الجملة يوم 12 ديسمبر 2010 .. والصورة توضح الاستعلام ونتيجته

sql-select.png

والتكرار لن يحدث إلا إذا كانت البيانات المسجلة في الجدول مكررة .. أما إذا كان المطلوب استرجاع سجل واحد لكل تاريخ فيمكن استخدام Distinct في جملة Select كما في الشكل التالي

distinct-example.png

دروس فيديو مجانية ASP.NET باللغة العربية

http://www.amrammar.net/videos.aspx?id=1

دروس تصميم مشروع كامل لموقع أخبار تفاعلي

http://www.amrammar.net/default.aspx?id=5

#15

أرجو مراجعة إعدادات التاريخ الخاصة بجهازك ..

فقد يكون سبب مشكلتك إن التاريخ على جهازك يعمل بالتاريخ الهجري وليس الميلادي ..

ويمكن عمل هذا التغيير من اختيار Regional Settings الموجود في الكونترول بانل الخاص بنظام التشغيل وندوز ...

مع أطيب أمنياتي بالتوفيق إن شاء الله ،،

مهندس / عمرو عمار

القاهرة - مصر

دروس فيديو مجانية ASP.NET باللغة العربية

http://www.amrammar.net/videos.aspx?id=1

دروس تصميم مشروع كامل لموقع أخبار تفاعلي

http://www.amrammar.net/default.aspx?id=5

#16

استاذ عمر سوال اخير اتمنى تجاوب عليه

هل هذه التعليمة تعيد السجلات المضافة خلال

اسبوع يعني يرجع لي السجلات التي اضيف خلال هذا

الاسبوع يبدا من اليوم اذا كان هكذا وانت مجربها

فهناك مشكلة بالكود يجب ان ابحث عنها

اتمنى ترد علي لكي اعيد النظر في الكود اذا كانت التعليمة سليمة

#18

أوافق الأخ طارق الرأي .. ياليت ترفقي صورة بنتيجة الاستعلام لديك ..

وبالنسبة لسؤالك فالاجابة نعم أختي الفاضلة ..

هذه التعليمة تعيد السجلات المضافة خلال أسبوع يعني يرجع لك السجلات التي أضيف خلال هذا الأسبوع بدأ من تاريخ اليوم .. وهي مجربة ونتائجها في الصور المرفقة في ردي السابق

وأكرر .. أرجو مراجعة إعدادات التاريخ على جهاز الكمبيوتر الموجود به قاعدة البيانات .. والتأكد أنه تاريخ ميلادي .. وليس هجري .. حتى يعمل الاستعلام بشكل صحيح ..

دروس فيديو مجانية ASP.NET باللغة العربية

http://www.amrammar.net/videos.aspx?id=1

دروس تصميم مشروع كامل لموقع أخبار تفاعلي

http://www.amrammar.net/default.aspx?id=5

#19

اساتذتي اشكركم جزيل الشكر لكنه بالفعل امر يورقني

كثيرا حث انني من اكثر من اسبوعين وانا ابحث عن حل

ولم اتوصل له حتى الان ان شاء الله الليلة سافرد موضوع خاص

واتمنى من الجميع المساعدة وشكرا

مواضيع مشابهة