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

    SQL "Subquery returns more than 1 row"

    Ciao a tutti... MySql mi ritorna un errore che non riesco a definire
    Quello che cerco di fare è trovare tutti gli username degli utenti (tabella users) che abbiano la parola "chiave" nel loro campo keywords.

    NB il campo keywords contiene un numero variabile di parole chiave tutte separate da spazio x questo ho usato LOCATE.

    Un pò come un'enorme stringa in cui voglio sapere se c'è la substring 'chiave'

    codice:
    SELECT Username
    FROM users
    WHERE (
    
    SELECT LOCATE( 'chiave', keywords )
    FROM users
    )
    Purtroppo la risposta alla query è "#1242 - Subquery returns more than 1 row". Non capisco perchè non riesca a restituirmi tutti i record nel modo giusto!
    Ommettendo la prima parte la query va a buon fine, ma non ottengo nessun campo che mi permette si identificare a quali user corrispondano i record!

    codice:
    SELECT LOCATE( 'chiave', keywords )
    FROM users
    Grazie in anticipo!

  2. #2
    select username from users where keywords='chiave'



  3. #3
    hemmmmm

    Giusto non ho fatto la precisazione!!!
    Corretto quello che mi hai risposto ma purtroppo il campo keywords contiene un numero variabile di parole chiave associate allo user (tutte separate da spazio). Per questo ho usato la funzione LOCATE

  4. #4
    sinceramente non ho mai utilizzato locate e non sò se si può utilizzare in WHERE, tu prova in questo modo

    select username from users WHERE LOCATE( 'chiave', keywords )

  5. #5
    Risolto come dicevi tu. Ti ringrazio!
    codice:
    SELECT Username
    FROM users
    WHERE LOCATE( 'chiave', keywords )

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.