Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Select distinct che non funge..

    Buon giorno ancora, scusate la mia ignoranza( perpetua) ma.. come mai se faccio una select distinct in questo modo:

    codice:
    select distinct(CAP)  from TB_CAP order by CAP
    estrapola CAP doppi(duplicati)?

    Grazie...

  2. #2
    prova con group by
    codice:
    select CAP from  TB_CAP 
    goup by CAP
    order by CAP

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    ti ringrazio...
    Ma avevo già provato, ma non funziona nemmeno cosi.
    Non sò se questo può essere il problema ma, non credo.
    Comunque, nella tabella TB_CAP non ho un campo ID, autoincrement...
    e poi, ho 500 campi dove, ci sono alcuni municipi, che hanno lo stesso CAP.
    Quindi, questo forse potrebbe essere il vero problema, e la select deve essere strutturata in maniera diversa?
    Se si...come?

  4. #4
    il DISTINCT si estende a tutti i campi elencati in SELECT

    il GROUP BY riunisce tutti i campi da lui in elenco. Ma ti fornisce solo il primo (casuale) che trova.

    Quindi group by ti rende solo un campo per CAP. DISTINCT invece tanti quanti sono le univocita' dei campi in elenco.

    Altra cosa... non sei un novellino. Dovresti sapere che "non funziona" vale solo per te e non per chi ti legge. Se metti una query che da problemi mettila per intero e non ridotta. potresti proprio togliere il problema.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    si hai ragione scusa!!!!Anzi mi scuso con tutti....

  6. #6
    comunque, anche se non sono un novellino, il problema resta...
    sto provando in qualsiasi modo ,ma il risultato che voglio non lo ottengo.

    Mi consigli di fare un'altra tabella con soltanto il campo CAP all'interno?
    e poi eseguire una JOIN?
    NB: comunque non capisco come mai, nel campo Municipio, ho valori duplicati, all'interno della stessa tabella, ma quando vado ad eseguire la query, non ho nessun problema.
    codice:
    select distinct(Municipio) from TB_CAP order by Municipio
    Vabbè,...

  7. #7
    significa che i valori dentro al campo CAP sono diversi tra loro, vuoi per spazi o altro.

    fai un select CAP e valuta il contenuto. sicuramente diversita' ne troverai.

    Sarebbe anche bene conoscere il tipo di campo. Prova anche a contarli.

    SELECT CAP, count(*) as tot
    from tabella
    group by CAP

    se ti da CAP "duplicati" e il tot = 1 significa che il campo CAP ha contenuto diverso. Credi al software.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    sei stato di grandissimo aiuto.E per questo ti ringrazio per la tua pazienza.
    Cmq io non sono un esperto, sono qui da parecchio, si, ma non sono un'esperto fidati.
    Comunque era questione di spazi...(campi sporchi) è vero, ma non ho risolto nemmeno mettendo la trim().mmaaa....!!!!
    Questa query me la terrò ben stretta !!

    Grazie ancora

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.