Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: select distinct e Max

  1. #1

    select distinct e Max

    Salve a tutti, mi scuso se non sono riuscito a trovare la soluzione da solo ma è da più di una settimana che cerco e non riesco a risolvere. Vedo che il problema è già stato trattato ma non riesco a farlo funzionare. Ho una pagina asp e un db access

    ho una tabella

    ID, Codice, prodotto, prezzo.

    1 , 5p200, auto, 100
    2, 5p201, auto, 150
    3, 5p203, auto, 50
    4, 1p100, moto, 10
    5, 1p201, moto, 50

    Ho bisogno di fare una select distinct del campo prodotto prelevando altresì il codice massimo. Ovvero:

    3, 5p203, auto, 50
    5, 1p201, moto, 50

    Ho provato con

    strSQL = "SELECT DISTINCT prodotto, MAX(codice) FROM prodotti GROUP BY prodotto ORDER BY prodotto DESC"

    ma non riesce a trovare il valore max

    ho provato modificando la query in mille altri modi ma mi da sempre errori.

    Sapete aituarmi?

    grazie

  2. #2
    1. che errore ti dà?
    2. prova a togliere la clausola DISTINCT

  3. #3
    Innanzitutto ringrazio per la celerità dell'interessamento!! :-)

    Allora con questa query mi dice " AUTO - e - Item cannot be found in the collection corresponding to the requested name or ordinal."

    e vedo che pur trovando il campo auto (prodotto) non riesce a trovare il campo MAX(id)

    Se tolgo invece il distinct mi da sempre lo stesso errore.

    :-(

  4. #4

  5. #5
    oddio... Mi scuso per l ignoranza ma non so neppura cosa sia l'alias di colonna..

    puoi gentilemente aiutarmi ancora? tks..

  6. #6
    fa' vedere il pezzo di codice che ti dà errore

  7. #7
    <%
    iPageSize = 32 'NUMERO RECORD PER PAGINA


    strSQL = "SELECT prodotto, MAX(codice) FROM prodotti GROUP BY prodotto ORDER BY prodotto DESC"






    Set objRS = Server.CreateObject("ADODB.Recordset")

    objRS.PageSize = iPageSize
    objRS.CacheSize = iPageSize
    objRS.Open strSQL, objConn, adOpenStatic, adLockReadOnly, adCmdText

    reccount = objRS.recordcount
    iPageCount = objRS.PageCount

    If iPageCurrent > iPageCount Then iPageCurrent = iPageCount
    If iPageCurrent < 1 Then iPageCurrent = 1

    If iPageCount = 0 Then
    Response.Write "

    <font face='verdana' size='1' color='#000000'>Siamo spiacenti. Al momento non ci sono prodotti appartenenti a questa categoria.</p>"
    Else
    objRS.AbsolutePage = iPageCurrent
    iRecordsShown = 0
    %>
    <table width="100%" border="0" cellspacing="0" cellpadding="3" bordercolor="#FFFFFF">

    <%

    Dim num
    num="1"
    %>

    <%
    If Not objRS.EOF Then



    Response.Write"<table border=0 width=90% align=center>"
    numeroColonne = 0

    Do While NumeroColonne < iPageSize And Not objRS.EOF



    If numeroColonne Mod num = 0 Then

    If numeroColonne <> 0 Then Response.Write"</tr>"

    %>
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tr>
    <td><%=objRS("prodotto")%></td>
    <td><%=objRS("codice")%></td>
    </tr>
    </table>

    <%Else%>

    <table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tr>
    <td><%=objRS("prodotto")%></td>
    <td><%=objRS("codice")%></td>
    </tr>
    </table>




    <%End If

    ' PASSO ALLA COLONNA SUCCESSIVA
    numeroColonne = numeroColonne + 1

    ' RS SUCCESSIVO
    objRS.MoveNext

    Loop
    End if
    'PULIZIA DEGLI OGGETTI ADO
    objRS.Close
    Set objRS = Nothing
    %>

  8. #8
    ... max(codice) AS Codice...

    in rosso l'alias di colonna

  9. #9
    mi da errore

    Microsoft OLE DB Provider for ODBC Drivers error '80004005'
    [Microsoft][ODBC Microsoft Access Driver] Circular reference caused by alias 'Codice' in query definition's SELECT list.

    :-(

  10. #10
    posta la query modificata

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.