اذهب الي المحتوي
أوفيسنا

جُمل SQL


أبو آدم

الردود الموصى بها

للتعرف على الموظفين اللذين نفتقد عناوين سكنهم في قاعدة بياناتنا نستخدم NULL وببساطة في ضمن العبارة التالية :

SELECT LastName,FirstName,Address FROM Employees 
WHERE Address IS NULL

:wub::Rules:

 

لنطالبهم بإستكمال وتحديث بياناتهم الوظيفية ........

 

 

...............

رابط هذا التعليق
شارك

تم تحميل النظام في فرعنا بالعقبة ، وبرزت الحاجة لتغيير القيمة الافتراضية لحقل مقر العمل للموظف City من Amman الى Aqaba ، نستخدم العبارة التالية :

ALTER TABLE Employees 
ALTER COLUMN City SET DEFAULT 'Aqaba'

:wow:

..........

رابط هذا التعليق
شارك

  • 2 weeks later...

السلام عليكم

شيء جميل ان ابقى ادرس و اتعلم منكم

زادكم الله علما مع علمكم

لو ممكن اقترح عليك اقتراح

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

فما رايكم سيدي الكريم؟؟؟؟؟

رابط هذا التعليق
شارك

للتعرف على الموظفين اللذين تزيد رواتبهم عن 1200 دينار اللذين تم تعيينهم بعد 01/01/2000 مرتبين حسب أبجدية الإسم الأول

SELECT (FirstName & ' ' & LastName) AS Names
FROM Employees 
WHERE Salary > 12000 AND Hire > #01/01/2000#
ORDER BY FirstName;
 

:dance1:

رابط هذا التعليق
شارك

للتعرف على معدّل الرواتب 

 

 

​SELECT Avg([Salary]) AS AvgSalary FROM Employees ;
 

ويمكن استخدامة مع 

 

 

Sum(), Count(), First(), Last(), Min(), Max(), StDev(), StDevP, Var()
 
رابط هذا التعليق
شارك

للتعرف على الإسم الأول والأخير وراتب ، الموظفين اللذين تزيد رواتبهم عن معدل الرواتب في الشركة

 

 

SELECT FirstName, LastName, ([Salary]) AS [High Salary]
FROM Employees
WHERE (([Salary])) > (SELECT AVG([Salary]) FROM [Employees]);
 

:power:  :wink2:

رابط هذا التعليق
شارك

سؤال يتكرر كثيراً ...

أريد إضافة < None > لمصدر صف في مربع تحرير وسرد أو مربع قائمة

والجواب بإذن الله هيّن ...

 

لدينا جدول tblDuty للمهام المسندة للموظفين

فيه الحقل DutyID كمعرف

وفيه الحقل strDuty لوصف المهمة

 

في خيارات مربع التحرير والسرد

نختار نوع مصدر الصف / جدول أو استعلام

نختار عدد الأعمدة 2

نجعل عرض الأعمدة 0";3" ليتم إخفاء العامود الأول (الرقم المعرف) و إظهار الثاني بعرض 3 سم (وصف المهمة)

في مصدر الصف لمربع التحرير و السرد ، نضع العبارة :

 

 

 

SELECT DISTINCTROW [DutyID],[strDuty] FROM [tblDuty]
UNION SELECT "0","< None >" FROM [tblDuty]
ORDER BY [strDuty]
 

:wow:

رابط هذا التعليق
شارك

السلام عليكم

شيء جميل ان ابقى ادرس و اتعلم منكم

زادكم الله علما مع علمكم

لو ممكن اقترح عليك اقتراح

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

فما رايكم سيدي الكريم؟؟؟؟؟

السلام عليكم

الاستاذ القدير / أبو آدم

نرجو ان يتم آخذ هذا الاقتراح بعين الاعتبار

مع علمن التام بمدي مشغولياتكم

جزاكم الله خيرا

رابط هذا التعليق
شارك

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

شكرا اخي حمادة على معاضدتك لاقتراحي و اشاطرك الراي بان السيد ابو آدم ان له مشاغل خاصة و عامة فاكيد ان وقته ثمين و اسال الله ان يوفقه في جميع اعماله و ان يجعل سعيه في ميزان حسناته

رابط هذا التعليق
شارك

لدينا جدول tblDecletations

فيه حقل قيمة مصرح عنها تمثل قيمة التداولات المالية (مبيعات أو مشتريات أو مصاريف) strValue

وحقل رمز الفرع العامل strCenter

 

نريد الحصول على مجموع التداولات المالية لكل فرع بالاضافة لمجموع تداولات كامل الفروع

 

نستخدم العبارة التالية :

 

SELECT DISTINCTROW strCenter, Sum(strValue) AS [SumP]
FROM tblDecletations GROUP BY strCenter
UNION SELECT 'Total=', Sum(strValue) AS [SumT]
FROM tblDecletations;


 

وتكون النتيجة كما في المرفق

 

post-12714-0-87646600-1361607960_thumb.j

 

تمام التمام ....

رابط هذا التعليق
شارك

إخوتي الفضلاء

 

أظن أن ما أحاول تقديمه بالشرح و التفصيل يفي ببعض ما تتطلعون اليه

 

وهنا أقول ...

 

لا أجزم عهداً ... ولا ألتزم قطعاً

 

ولكنني وبإذن الله سأدرس إمكانية طرح تطبيقات ودروس مسجلة

 

والله المُوَفِقُ و المستعان

 

والله من وراء القصد وهو حسبي

 

...........

  • Like 1
رابط هذا التعليق
شارك

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

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

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

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

لكم الف شكر و الف تحية و الف سلام

رابط هذا التعليق
شارك

نحتاج احيانا لاستخدام المتغيرات بدل الثوابت في جمل SQL

وهذا الوضع ينشأ لدينا حين يلزمنا اعادة استخدام الجملة من قبل المستخدمين عبر النماذج ، فنقوم باستبدال القيمة الثابتة في متن الجملة لمتغيرات .


جملتنا تتركب كما يلي حسب القيم الثابتة فيها :


 


MySQL = "SELECT pkEmployeeID, Salary, Hire FROM Employees " & _ 
"WHERE (Salary > 12000 AND Salary < 10000) " & _ 
"AND (Hire > #12/31/2000# AND Hire < #12/31/2005#) " & _ 
"AND (Sex = 'F');"  

 

الخطوة الأولى للإنتقال من صيغة القيم الثايتة  ، هي تعريف المتغيرات اللازمة للقيم  وهي مجال التاريخ و الراتب و الجنس

وتأخذ هذه المتغيرات قيمها من نموذج ، وهذه المتغيرات هنا هي :



txtLowSalary, txtHighSalary, txtLowDate, txtHighDate, txtSex


وتكون كما يلي :

 


txtLowSalary = 20000
txtHighSalary = 100000
txtLowDate = #12/31/2000#
txtHighDate = #12/31/2005#
txtSex = "F"  

أو تكون مسندة لقيم مربعات النص ، وكما يلي:


 

txtLowSalary = Me.txtLowSalary
txtHighSalary = Me.txtHighSalary
txtLowDate = Me.txtLowDate
txtHighDate = Me.txtHighDate
txtSex = Me.txtSex
 

وهنا يلزمنا اعادة صياغة جملتنا لتستوعب قيم المتغيرات بدل الثوابت في الصيغة السابقة ، لتصبح كما يلي :


 


MySQL = "SELECT pkEmployeeID, Salary, Hire FROM Employees WHERE " & _
"(Salary > " & txtLowSalary & " AND Salary < " & txtHighSalary & ") AND " & _
"(Hire > #" & txtLowDate & "# " & "AND Hire < #" & txtHighDate & "#) AND " & _
"(Sex = " & "'" & txtSex & "'" & ");"  

 

وهنا لا بد من مراعاة مسألة استخدام القواعد العامة لإنشاء متغيرات العدد، ومتغيرات التاريخ ومتغيرات السلسلة فلكل منها متطلبات بناء جملة مختلفة.

 

أنظر : http://www.officena.net/ib/index.php?showtopic=38385&page=2    المشاركة 26

  • Like 1
رابط هذا التعليق
شارك

  • 1 year later...
  • 8 months later...
  • 4 months later...
  • 2 years later...

للتعرف على ثاني أعلى قيمة

SELECT Min(Field1) AS Top2
FROM table1
WHERE (((table1.[Field1]) In (SELECT TOP 2 Field1 from table1 ORDER BY Field1 DESC)));

أو

select Field1
  from Table1
 where Field1 = 
       ( select max(Field1)
           from Table1
          where Field1 <
               ( select max(Field1)
                   from Table1 ))

 

تم تعديل بواسطه أبو آدم
إضافة كود ثاني
  • Thanks 1
رابط هذا التعليق
شارك

4 ساعات مضت, أبو آدم said:

للتعرف على ثاني أعلى قيمة


SELECT Min(Field1) AS Top2
FROM table1
WHERE (((table1.[Field1]) In (SELECT TOP 2 Field1 from table1 ORDER BY Field1 DESC)));

أو


select Field1
  from Table1
 where Field1 = 
       ( select max(Field1)
           from Table1
          where Field1 <
               ( select max(Field1)
                   from Table1 ))

 

رائعة و مطلوبة

جزاك الله خيرا

رابط هذا التعليق
شارك

حفظ معلومات سجل في النموذج ، في أي جدول يتم اختياره ، سواء لتجنب الحفظ التلقائي أو لاضافة سجل في جدول ثاني ، .... باستخدام INSERT INTO

Dim insertstring As String
    insertstring = "INSERT INTO Table2 (strCode, strName, strDate) VALUES ('" & _
                    TxtCode.Value & "','" & _
                    TxtName.Value & "','" & _
                    TxtDate & "');"
    DoCmd.RunSQL insertstring

:fff:

رابط هذا التعليق
شارك

SQL EXISTS

يتم استخدام مشغل EXISTS لاختبار وجود أي سجل في استعلام فرعي  ، حيث يعود بالناتج True  إذا قام الاستعلام الفرعي بإظهار سجل واحد أو أكثر ، و بالنتيجة تحصل على قائمة بالسجلات المطابقة للشروط .

عبارة SQL التالية تعود بالناتج True  و تسرد قائمة بالعملاء اللذين تم التعامل معهم ابتداء من منتصف الشهر 12

SELECT CustomerName
FROM Customers
WHERE EXISTS (SELECT ProductName FROM Products WHERE CustomerId = Customers.CustomerId AND strDate < #15/12/2017#);

و بناء الجملة يتم كما يلي :

SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table1_name WHERE condition);

 

تم تعديل بواسطه أبو آدم
  • Like 1
رابط هذا التعليق
شارك

في ٦‏/٢‏/٢٠١٣ at 16:28, أبو آدم said:

لسرد أسماء الموظفين مرتبة تنازلياً و حسب الإسم الأخير ، ببساطة نستخدم العبارة التالية :


SELECT * FROM Employees 
ORDER BY LastName DESC

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

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information