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

    [php-mysql] problemi di ordinamento....

    In una tabella ho una colonna che contiene un'indicatore che è formato normalmente da una o due lettere. (esempio A, B, C, AA, AB, BA). Poichè questo dato viene usato per ordinare in fase di query tutti gli altri dati della tabella il risultato che ottengo, riferito a questa colonna è il seguente:

    A
    AA
    AB
    B
    BA
    C

    mentre vorrei ottenere questo ordinamento:

    A
    B
    C
    AA
    AB
    BA

    Qualche idea? da profano l'unica soluzione che avevo pensato era quella di creare un'ulteriore colonna che contenesse il numero di caratteri ed utilizzarla poi nell'ordinamento, ma mi sembra macchinoso.....

    ciao
    Fabio
    Chi Vale Vola, Chi Vola Vale, e chi non Vola è un Vile.

  2. #2
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    ORDER BY LENGTH(CAMPO), CAMPO

  3. #3
    Grazie, come temevo avevo scelto la strada più complicata....


    grazie mille e ciao

    Fabio
    Chi Vale Vola, Chi Vola Vale, e chi non Vola è un Vile.

  4. #4
    Ho cantato vittoria troppo presto, ho fatto come mi avevi detto, ma ho un problema il campo che sia A o AA come risultato di LENGTH mi da sempre 2, ho verificato la query di inserimento ma mi pare non ci siano problemi, questo dato viene ottenuto dall'importazione di un file csv.....qualche idea su come risolvere il problema....?



    ciao
    e grazie

    Fabio
    Chi Vale Vola, Chi Vola Vale, e chi non Vola è un Vile.

  5. #5
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Strano, forse ci sono degli spazi.
    Prova ad usare TRIM:

    ORDER BY LENGTH(TRIM(CAMPO)), CAMPO

  6. #6
    grazie riprovo così, anche perchè testando tutti gli altri campi del db il risultato è corretto, solo in questo caso trovo questo problema, mentre in tutti gli altri campi la lunghezza è corretta

    ciao e grazie ancora
    Fabio
    Chi Vale Vola, Chi Vola Vale, e chi non Vola è un Vile.

  7. #7
    Confermo con il TRIM tutto ok non capisco dove ma si portava dietro un pò di sporicizia, credo nella trasformazione da excel a csv...


    grazie 1000

    Fabio
    Chi Vale Vola, Chi Vola Vale, e chi non Vola è un Vile.

  8. #8
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    Se vuoi pulire il campo definitivamente:

    UPDATE TABELLA SET CAMPO=TRIM(CAMPO)

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.