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

    [mysql] select con espressione regolare

    ciao a tutti!
    problemino di pura sintassi sql:

    (ho mysql 1.4)

    ho una tabella cognomi

    data una radice di cognome qualsiasi, devo estrarre il cognome più lungo che deriva da quella radice:

    es:

    radice ROS
    cognome + lungo ROSSIGNOLI DEL FORNO.

    il problema è che a me serve estrarre il cognome NON COMOPOSTO più lungo.

    es2:

    radice ROS
    cognome + lungo ROSSIGNOLI DEL FORNO.
    cognome non composto + lungo ROSSIGNOLINI

    ovviamente, contando tutto il campo i cognomi composti sono + lunghi... e non posso fare uno split di quello composto perchè il risultato sarebbe falsato!!

    la query che uso per estrarre il cognome è:
    codice:
    select cognome from cognomi where cognome like'ROS';
    idee?



    Quando si è in un pasticcio tanto vale goderne il sapore!

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    codice:
    SELECT cognome,MAX(LENGTH(cognome)) AS lunghezza FROM cognomi 
    WHERE LOCATE(' ',cognome) = 0 AND cognome LIKE 'ROS%' 
    GROUP BY cognome LIMIT 1;
    think simple think ringo

  3. #3
    GRAZIE MILLE, funge benissimo!!!

    Quando si è in un pasticcio tanto vale goderne il sapore!

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.