Just nu i M3-nätverket
Gå till innehåll
kjell.ek

MS Sql select sats...

Rekommendera Poster

Jag har en asp.net applikation, varav jag  i en rullmeny först väljer Continent och sedan kan välja olika cupper.

Resultatet presenteras i en asp:GridView.

Nedan hur sql satsen ser ut nu.

 

Tävlingar som får räknas in i cuppen måste ha genomförts (date_event) i aktuell tävlingssäsong (date_event BETWEEN '" & startdate & "' And '" & enddate & "').

Den som leder/vinner cuppen baseras på hur många tävlingar personen har kört som summeras till antalet totalpoäng

Mest points vinner cuppen.

 

Till min fråga, hittills tror jag att jag fått till det att fungera. Men om en person har kört 7 tävlingar så måste jag filtrera bort 2 tävlingar som har lägst cuppoäng (wcp_point)

Jag får bara räkna max 5 tävlingar och de som har högst cuppoäng.

 

Där kör jag fast, får det inte att fungera....

Någon som kan bistå mig i detta problem?

 

Det blir väl typ Select TOP 5 wcp_point, men det blir felaktigt än hur jag gör det.........

 

 

 

            Case 1 : MyDataAdapter = New SqlDataAdapter("SELECT SUM(wcp_point) AS points, Count(class) AS race, firstname, lastname, did FROM wcpcup " &
        "Where continent = @continent " &
        "AND (class IN ('SM1', 'SM1V', 'SM2', 'SM2V', 'PM1', 'PM4', 'CM')) " &
        "AND (date_event BETWEEN '" & startdate & "' And '" & enddate & "')  " &
        "GROUP BY firstname, lastname, did ORDER BY points DESC", MyConnection)
        
                    Case 2 : MyDataAdapter = New SqlDataAdapter("SELECT SUM(wcp_point) AS points, Count(class) AS race, firstname, lastname, did FROM wcpcup " &
        "Where continent = @continent " &
        "AND (class IN ('SW1', 'SW1V', 'SW2', 'SW2V', 'PW1', 'PW4', 'CW')) " &
        "AND (date_event BETWEEN '" & startdate & "' And '" & enddate & "')  " &
        "GROUP BY firstname, lastname, did ORDER BY points DESC", MyConnection)

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Fungerar din order by som förväntat? För då räcker det kanske med att du i din .NET kod sen gör en loop som bara går fem snurr.

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...