Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    [SQL Server 2005]Select distinct....problemi

    Ciao a tutti,

    io ho questa tabella..con valori simili a questi....

    COL1-----COL2-----COL3-----COL4
    123------verde-----xxx-------sergio
    123------verde-----xxx-------carlo

    in cui sono tutti uguali...tranne l'ultima colonna

    la query fin'ora utlizzata era
    SELECT DISTINCT COL1 , COL2 ,COL3 FROM ODL_LIST

    con il seguente corretto risultato
    COL1-----COL2-----COL3
    123------verde-----xxx

    ora però dovrei prendere anche l'ultima colonna........ma mi servirebbe avere solo l'ultimo valore trovato dell'ultima colonna....e vorrei avere questo risultato...

    COL1-----COL2-----COL3-----COL4
    123------verde-----xxx-------carlo

    ovviamente se uso questa query...
    SELECT DISTINCT COL1 , COL2 ,COL3, COL4 FROM ODL_LIST

    mi ritorna

    COL1-----COL2-----COL3-----COL4
    123------verde-----xxx-------sergio
    123------verde-----xxx-------carlo


    come posso risolvere??? thanks!

  2. #2
    Come fai a sapere che ti serve l'ultima se l'unica cosa che differenzia le righe è il valore dell'ultimo campo che evidentemente non sai?

    Detto in altri termini, perchè "l'ultimo"? E a che ordinamento ti riferisci? Non ha senso dire l'ultimo se non definisci rispetto a che cosa...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  3. #3
    ...
    per "ultima" intendo sempre la colonna COL4...

  4. #4
    Originariamente inviato da elsinore77
    ...
    per "ultima" intendo sempre la colonna COL4...
    No, non hai capito: perchè la query dovrebbe rispondere carlo e non sergio!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  5. #5
    a ok scusa!

    c'è anche un campo data...quindi prendo l'ultimo inserito!

    COL1-----COL2-----COL3-----COL4----DATA
    123------verde-----xxx-------sergio---15/01/2010
    123------verde-----xxx-------carlo----16/01/2010


  6. #6
    Allora è facile:

    SELECT clo1, col2, col3, col4 WHERE data=max(data)
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  7. #7
    Forse è meglio che inserisco tutti i dati....così si capisce di più...

    la mia tabella completa è simile a questa


    COL1-----COL2-----COL3-----COL4----DATA---------COL5------COL6
    123------verde-----xxx-------sergio---15/01/2010---ecc...ecc.....
    123------verde-----xxx-------carlo----16/01/2010---ecc...ecc.....
    345------blu-------aaa-------marco---13/02/20120--ecc...ecc.....
    345------blu-------aaa-------paolo----14/02/20120--ecc...ecc.....
    xyz------nero------bbb-------luca-----08/03/20120--ecc...ecc.....
    xyz------nero------bbb-------pietro---09/03/20120--ecc...ecc.....
    xyz------nero------bbb-------ale------11/03/20120--ecc...ecc.....

    ci sono vari valori duplicati....io su questa tabella ho sempre fatto una distinct sulle prime 3 colonne....quindi senza problemi....ora però dovrei agguingere la colonna 4...che ha nomi diversi....e di questi record che trovo mi serve l'ultimo a livello di data.....il risultato dovrebbe essere

    COL1-----COL2-----COL3-----COL4----DATA---------COL5------COL6
    123------verde-----xxx-------carlo----16/01/2010---ecc...ecc.....
    345------blu-------aaa-------paolo----14/02/20120--ecc...ecc.....
    xyz------nero------bbb-------ale------11/03/20120--ecc...ecc.....


  8. #8
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563
    DISTINCT opera a livello di tupla e non in suoi sottoinsiemi.
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  9. #9
    mmmm..quindi...con una query sola non riesco?.....mi sa che devo mettere in piedi una procedura....

  10. #10
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Come ti hanno già risposto, il problema è che non si capisce cosa deve ritornare questa query.
    Lascia stare il discorso query e prova a spiegare a "parole" cosa devi fare...
    I got the remedy

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 © 2025 vBulletin Solutions, Inc. All rights reserved.