![]() |
|
سؤال في جملة select - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40) +--- قسم : قسم أسئلة قواعد البيانات تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=41) +--- الموضوع : سؤال في جملة select (/showthread.php?tid=24643) |
سؤال في جملة select - تناسيم - 24-04-18 لدي جدول بحالة الموظفين الوظيفية يحتوي على رقم كود الموظف ورقم تحديثه بجانب حقول بيانات اخرى للموظف ويتكرر كود الموظف في كل مرة اقوم فيها باضافة حقل جديد برقم تحديث جديد لحالة الموظف اريد ان اظهر max(update_no) فقط لكل كود وقد قمت بكتابة الكود التالي SELECT * FROM table_1 WHERE update_no = SELECT MAX(update_no) AS Expr1 FROM table_1 WHERE (code = code) وقد اشتغل الكود ولكنه اظهر احدث حالات التحديث في الجدول كله ولكني اريد اظهار احدث حالات التحديث لكل موظف على حدة يعني لكل كود موظف ولذلك قمت باضافة group by code لجملة select المذكورة في الاعلى ولكنه اعترض على استخدام group by مع جملة select RE: سؤال في جملة select - تناسيم - 02-05-18 هل طرح السؤال غير واضح اقوم بالتوضيح اكثر RE: سؤال في جملة select - Kamil - 09-06-24 يرجى التوضيح اكثر لاني حسب ما فهمت ساجيب لفعل ذلك، تحتاج إلى استخدام استعلام فرعي لتحديد أكبر رقم تحديث لكل كود موظف، ثم انضمام هذا الاستعلام الفرعي مع الجدول الرئيسي لجلب السجلات التي تحتوي على أكبر رقم تحديث لكل موظف. إليك كيفية القيام بذلك باستخدام SQL Server: PHP كود : SELECT t1.*في هذا الاستعلام: الاستعلام الفرعي SELECT code, MAX(update_no) AS max_update_no FROM table_1 GROUP BY code يقوم بإرجاع كل كود موظف مع أكبر رقم تحديث له. ثم يتم الانضمام الذاتي بين الجدول الأصلي table_1 والنتائج الفرعية t2 بناءً على كود الموظف ورقم التحديث الأحدث. هذا يضمن أن كل موظف يظهر فقط مع أحدث حالة تحديث له. |