Newsgroup: it.comp.lang.visual-basic
Titolo: order by

Scusate la mia ignoranza , stň impazzendo su una SQL
devo fare un ordinamento su dei numeri
es: tutti gli 0;tutti gli 1 : tutti gli 2 ; tutti i 3 in ordine decrescente
e in fine quando questi numeri sono uguali, dovrei fare la differenza
con il tempo , chi impiega meno tempo vince
il problema č il tempo non riesco a fare l'ordinamento
mi potreste gentilmente a risolvere questo enigma?
grazie 1000 a chi mi aiuta
ciao Claudio 


il primo enigma e` capire cosa hai scritto.
si vincesse almeno qualcosa... ;-)
-- 
ciao, hal

 ciao Claudio
mi sembra alquanto semplice (almeno da quanto si riesce a capire)
ORDER BY CampoNumeri,CampoDifferenze
Comunque se ti spiegassi smeglio, magari con la struttura della tabella
ti aiuteremmo meglio, no ? 

questo è l' inghippo " Min(ins_penalita.tempimpigato "
io ci rinuncio
Private Sub visualizza_e_stampa_class(solostampa)
Dim categoria As Integer
Dim categoria1 As Integer
Dim progres, controlli As Integer
Dim cate As String
   On Error GoTo errori
   cancellaclassifica
      categoria = Right(Combo1.Text, 10)
      categoria1 = Trim(Right(Combo1.Text, 20))
      cate = Mid(Combo1.Text, 1, 15)
      Set dbsNorthwind = OpenDatabase(percorso & "\archivio_gare.mdb")
      SQL = ("SELECT " _
      & " sum(ins_penalita.secondoGiro)as 
giro2,sum(ins_penalita.terzoGiro)as giro3," _
      & " sum(ins_penalita.tot0)as zero,sum(ins_penalita.tot1)as 
uno,sum(ins_penalita.tot2)as due," _
      & " sum(ins_penalita.tot3) as tre,sum(ins_penalita.tot5)as 
cinque,sum(ins_penalita.primoGiro) as giro1, " _
      & " sum(ins_penalita.totalepunti) as 
totale,sum(ins_penalita.puntiextra) as extra, " _
      & " Min(ins_penalita.tempopartenza)as 
tmppart,Min(ins_penalita.tempo)as tmptot,Min(ins_penalita.tempimpigato)as 
tmpoimpiegato, " _
      & " 
archivio_piloti.pettorale,archivio_piloti.nomecognome,archivio_piloti.motoclub, 
" _
      & " 
archivio_piloti.motociclo,archivio_piloti.licenzatipoextra,ins_penalita.pettorale1,ins_penalita.motivopenalita,ins_penalita.opzionigara," 
_
      & " ins_penalita.categoria " _
      & " From archivio_piloti INNER JOIN ins_penalita ON 
archivio_piloti.pettorale = ins_penalita.pettorale1 " _
      & " WHERE ins_penalita.categoria = " & categoria1 & "" _
      & " GROUP BY 
ins_penalita.pettorale1,ins_penalita.motivopenalita,archivio_piloti.pettorale,archivio_piloti.nomecognome," 
_
      & " archivio_piloti.motoclub,archivio_piloti.licenzatipoextra, " _
      & " 
archivio_piloti.motociclo,ins_penalita.categoria,ins_penalita.opzionigara " 
_
      & " ORDER BY 
sum(ins_penalita.totalepunti)asc,sum(ins_penalita.tot0)desc,sum(ins_penalita.tot1)desc, 
" _
      & " 
sum(ins_penalita.tot2)desc,sum(ins_penalita.tot3)desc,sum(ins_penalita.tot5)desc 
;")
      Set penalita = dbsNorthwind.OpenRecordset(SQL, dbOpenDynaset)
      Do Until penalita.EOF
         Set classifica = dbsNorthwind.OpenRecordset("tabellaClassifica", 
dbOpenDynaset)
            classifica.AddNew
            progres = progres + 1
            incremento = progres
            posizione(progres) = incremento
            classifica!progressivi = progres '--------------------01
            classifica!numeropettorale = penalita!pettorale1
             numeropett(progres) = penalita!pettorale1 
'---------------------02
            classifica!nomepolota = penalita!nomecognome
             nomepiloti(progres) = penalita!nomecognome 
'----------------------03
            classifica!motocleb = penalita!motoclub
             motoclubb(progres) = penalita!motoclub 
'------------------------04
            classifica!motociclo = penalita!motociclo
             motociclo(progres) = penalita!motociclo 
'-------------------------05
            classifica!motivopenalita2 = penalita!motivopenalita
            classifica!primoGiro = penalita!giro1 'primoGiro
             girouno(progres) = penalita!giro1 
'-----------------------------07
            classifica!secondoGiro = penalita!giro2 'secondoGiro
             girodue(progres) = penalita!giro2 
'-------------------------------08
            classifica!terzoGiro = penalita!giro3 'terzoGiro
             girotre(progres) = penalita!giro3 
'--------------------------------09
            classifica!totale0 = penalita!zero
             totzero(progres) = penalita!zero 
'------------------------------10
            classifica!totale1 = penalita!uno
             totuno(progres) = penalita!uno 
'------------------------------11
            classifica!totale2 = penalita!due
             totdue(progres) = penalita!due 
'---------------------------------12
            classifica!totale3 = penalita!tre
             tottre(progres) = penalita!tre '---------------------------13
            classifica!totale5 = penalita!cinque
             totcinque(progres) = penalita!cinque 
'-------------------------14
            classifica!numerocatt = penalita!categoria
            classifica!penalitasupl = penalita!extra
             penalitasupp(progres) = penalita!extra
            totalepunt = penalita!totale
             penatitatotali(progres) = penalita!totale
            classifica!totalepunteggi = totalepunt 'penalita!totale + 
penalita!puntiextra
             'posizione(progres) = incremento
            classifica!nomecatt = cate
             categorie(progres) = cate
            classifica!orapartenza = penalita!tmppart
             iniziogara(progres) = penalita!tmppart
            classifica!oradiarrivo = penalita!tmptot
             finegara(progres) = penalita!tmptot
            classifica!oradifferenza = penalita!tmpoimpiegato
             tempoimpiegato(progres) = penalita!tmpoimpiegato
             classifica!licenzaextra = penalita!licenzatipoextra
             'LTIPO(progres) = penalita!licenzatipoextra
            classifica.Update
            'classifica.Bookmark = classifica.LastModified
            penalita.MoveNext
      Loop
         penalita.Close
         classifica.Close
         If salta_categoria = 1 Then salta_categoria = 0: GoTo kk
         ritirati
kk:
dbsNorthwind.Close
If Check1.Value = 1 Then
   scriviinexcel
End If
Exit Sub
errori:
Select Case Err.Number
   Case 94
      Resume Next
   Case 13
      Resume Next
   'Case 3163
      'Resume Next
   Case 91
      salta_categoria = 1
      Resume Next
   Case 3021
      MsgBox " La categoria non si trova nel database verificare ", 
vbExclamation
      Exit Sub
    Case 3420
        Resume Next
Case Else
   MsgBox ("Errore n. " & CStr(Err.Number) & " " & Err.Description)
   Exit Sub
End Select
Exit Sub
End Sub

 io ci rinuncio
Sě, ma cos'č che vuoi fare?
Questo č il vero inghippo :)
Il tuo primo post si basa su tutta una serie di premesse che noi mica 
conosciamo!
Ciao 

Se guardate il secondo post c'è tutta la querry finita o quasi
il mio problema è che se due piloti di trial sono a parimerito di
punteggio finale + punteggio delle penalità ossia gli 0 gli 1 i 2 i 3 e i 5
si guarda il tempo impiegato su tutta la gara
ho risolto tutto tranne il finale cioè il tempo non riesco a fare
la classifica includendo il tempo
ci ho provato in vari modi nella sql ma ill risultato è che mi salta delle 
somme dei punteggi e quantaltro
spero di essermi spiegato questa volta
comunque grazie per il vostro interessamento
ciao Claudio 

 comunque grazie per il vostro interessamento
Mi pare la copia dell'altro post :)
Comunque mi pare di capire che vuoi ordinare i record in base a 
punteggio+tempo.
La query dell'altro post è incomprensibile in quanto va tutta riconcatenata 
ma così a occhio mi pare che manchi solo il tempo nell'order by.
Ciao 

scusate ragazzi se vi ho fatto un pò di confusione con questi numeri
comunque ho trovato la soluzione, ce l'avevo davnti al naso
bastava dogliere DESC da Min(ins_penalita.tempimpigato)
e tutto si è sistemato scusate ancora
Purtroppo è solo  mia ignoranza.
scusatemi ancora
ciao e grazie per l'interessamento