تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
سؤال في جملة select top()
#1
السلام عليكم اخواني

لو يوجد لدي جدول table_1  يوجد به عمود الدرجات degree يحتوي على قيم 10 -20-30-40-50 كيف لي ان اظهر القيمة قبل الاخيرة الا وهي 40

حيث اني يمكنني اظهار اعلى قيمة وهي 50 عن طريق  الكود
    SELECT        TOP (1) degree 
FROM            dbo.table_1  

لكن عندما اريد اظهار قيمة ال 40 واستخدم الكود 
SELECT        TOP (2 - 1) degree 
FROM           dbo.table_1
تظهر القيمة 10

فكيف لي ان اظهر القيمة 40

وشكرا لكم
الرد }}}
تم الشكر بواسطة:
#2
PHP كود :
 Dim dbpath As String IO.Path.GetDirectoryName(Application.ExecutablePath) & "\db.accdb"
 
   Dim str As String "provider=microsoft.ace.oledb.12.0;data source=" dbpath
    Private Sub Button1_Click
(sender As ObjectAs EventArgsHandles Button1.Click
        Dim con 
As New OleDb.OleDbConnection(str)
 
       Dim cm As New OleDb.OleDbCommand(""con)
 
       cm.CommandText "select Top 2 *   from tb1 order by tid desc"
 
       Dim dt As New DataTable
        If con
.State ConnectionState.Closed Then con.Open()
 
       dt.Load(cm.ExecuteReader)
 
       If dt.Rows.Count 0 Then
            Dim rowindex 
As Integer dt.Rows.Count 1
            TextBox1
.Text dt.Rows(rowindex).Item(1) & " - " dt.Rows(rowindex).Item(2)
 
       End If
 
       dt.Clear()
 
       If con.State ConnectionState.Open Then con.Close()
 
   End Sub 

عدل ما يلزم ليعمل معك


طيب ما رايك بهذا؟

PHP كود :
​ 
PHP كود :
 Dim dbpath As String IO.Path.GetDirectoryName(Application.ExecutablePath) & "\db.accdb"
 
   Dim str As String "provider=microsoft.ace.oledb.12.0;data source=" dbpath
    Private Sub Button2_Click
(sender As ObjectAs EventArgsHandles Button2.Click
        TextBox1
.Clear()
 
       Dim con As New OleDb.OleDbConnection(str)
 
       Dim cm As New OleDb.OleDbCommand(""con)
 
       cm.CommandText "select top 1 *   from tb1 where degree<(select top 1 degree from tb1 order by tid desc) order by tid desc"
 
       Dim dr As OleDb.OleDbDataReader
        If con
.State ConnectionState.Closed Then con.Open()
 
       dr cm.ExecuteReader
        If dr
.HasRows Then
            If dr
.Read Then
                TextBox1
.Text dr(1) & " - " dr(2)
 
           End If
 
       End If
 
       If con.State ConnectionState.Open Then con.Close()
 
       dr.Close() 
الرد }}}
تم الشكر بواسطة:



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


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