22 messaggi dal 23 maggio 2003
Ciao a tutti sto facendo un gestionale per le partite di calcio, volevo una info su una query sql, praticamente la mia esigenza è di fare una query che mi restituisca il record che ha il numero di goal maggiori, ma allo stesso tempo voglio sapere anche altri campi di quel record, come nome e cognome..

Ma lo script seguente mi da errore:

ecco l'errore:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][Driver ODBC Microsoft Access] Impossibile eseguire una query che non include l'espressione "nome" specificata come parte di una funzione di aggregazione.


ecco lo script:

set rsT = Server.CreateObject("ADODB.Recordset")

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("/mdb-database/giocatori.mdb")

v1 = request.querystring("id")

RsT.Open "select nome, cognome, Max(voto) as MaxGol from giocatore where tipotorneo = 'Calcio a 5'" , Conn

response.write RsT("MaxGol")

rsT.Close
Set rsT = Nothing

Conn.Close
Set Conn = Nothing

come posso fare?
Grazie a tutti
Modificato da alex1975 il 03 ottobre 2007 14.37 -
394 messaggi dal 11 agosto 2004
Potresti provare con:
RsT.Open "select * from giocatore where tipotorneo = 'Calcio a 5' order by voto desc" , Conn
response.write RsT("voto")
Se ti da il più basso usa asc invece di desc ogni volta faccio confusione! :)
7 messaggi dal 03 ottobre 2007
Se utilizzi una funzione di aggregazione (MAX, MIN, SUM ecc...)devi necessariamente eseguire un raggruppamento di record:

guarda qui:
http://www.firebirdsql.org/manual/it/nullguide-aggrfunc.html


per la soluzione leggi pure il post di Maxiz

Ciao!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.