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

مشكلة في select max

بدأه كارم سامي في 10 فبراير 2014 · 8 رد · 1,174 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

 

عندي مشكلة مع هذا الكود

 J_oledbAdapter1.SelectCommand = new OleDbCommand("select * from teacherDegree where teacherDegreeID=(select max(teacherDegreeID) from teacherDegree)", J_con1);

المشكلة ان النتيجة تكون رقم "009" وليست رقم "010" مع ان "010" اكبر من "009"

 

post-235772-0-50757900-1391979772.png

#2

ﻷن هذه العناصر "غير مرتبة" حسب القيمة الرقمية :)

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#3
ahmed_youssef كتب:

ﻷن هذه العناصر "غير مرتبة" حسب القيمة الرقمية :)

 

 

وما الحل ؟

#4

لأن هذا الحقل من نوع نصي وليس رقمي

من الممكن ان تتركه نصي عادي ولكن عند عمل له ماكس تحوله الى رقم

SELECT * FROM teacherDegree WHERE teacherDegreeID = ( SELECT MAX(CAST(teacherDegreeID) AS INT) FROM teacherDegree
OR
SELECT TOP 1 * FROM teacherDegree ORDER BY CAST(teacherDegreeID AS INT)
1

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

#5

أو اعمل له ترتيب تنازلي وخذ أول قيمة

ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها

كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور

الدورة التطبيقية لتعليم التصميم بالإليستريتور

#6
أبو أحمد المبرمج كتب:

أو اعمل له ترتيب تنازلي وخذ أول قيمة

 

 

ممكن الكود او الطريقة اذا سمحت ؟

#7

J_oledbAdapter1.SelectCommand = new OleDbCommand("select * from teacherDegree where teacherDegreeID=(select top 1 teacherDegreeID from teacherDegree order by teacherDegreeID desc)", J_con1);

تم تعديل هذه المشاركة بواسطة أبو أحمد المبرمج في 12 فبراير 2014 في 06:31

ما أقبـح المعصية ، تذهب لذتها ويبقى إثمها ... ومأ أحسن الطاعة ، تذهب مشقتها ويبقى ثوابها

كل نعيم دون الجنة غرور ... وكـل شقـاء دون النـار سرور

الدورة التطبيقية لتعليم التصميم بالإليستريتور

#8

اللذي تقوله مستحيل برمجيا لا اقول لا اصدقك ولكن ما نوع البيانات هل هي integer ؟ فربما هي من نوع اخر ولا يتعرف على كل القيمة فقط يرى الاحاد

#9

try this

SELECT TOP 1 * FROM teacherDegree ORDER BY teacherDegreeID desc

or

SET ROWCOUNT 1

SELECT
    *
FROM SalesLT.SalesOrderHeader
ORDER BY TotalDue DESC

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