Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Aiuto query sql

  1. #1

    Aiuto query sql

    Ho una variabile di questo tipo:

    variabile = "valore1,valore2,valore3"

    Ora devo fare una query dove:

    select * from tabella where CAMPO <> 'variabile'

    Esiste un simbolo da sostituire alle virgole che permetta la differenzazione?

    Altrimenti devo spulciarmi il tutto a mano, o crearmi la variabile con dentro le istruzioni sql!

    Grazi mille!!!





    P.s. non fate caso alle virgolette... è che non avevo voglia di scrivere

  2. #2
    Non ho capito proprio benissimo la tua domanda, sarà mica l'ora?
    Comunque... se ho capito bene hai un array... che devi "separare" per andare a costruire una stringa SQL corretta, giusto?
    In tal caso puoi guardare questo esempio di split ed adattarlo al tuo uso.

  3. #3
    Ciao,
    hai pienamente ragione mi sono espresso malissimo

    Cmq il mio problema è questo....
    Ho una query in cui devo dirgli di prendere tutti campi tranne:

    campo1 <> 'pippo' AND campo1 <> 'pippo2' AND campo1 <> 'pippo3'

    In pratica chiedevo se c'era un modo per racchiudere il tutto nella stessa condizione.. tipo:

    WHERE campo1 NOT IN ('pippo,pippo2,pippo3')...

    Solo che in questo non funziona

    Altrimenti faccio un procedimento piu lungo, o con lo split o costruisco la variabile in maniera diversa, era solo per alleggire la pagina

    Grazie mille della disponibilità!!!


  4. #4
    Aaah!
    No, "IN" in SQL serve ad un'altra cosa.
    Per escludere tot corrispondenze di record temo che ti toccherà splittare e cotruire una serie di pezzettini di stringa, che io sappia.

  5. #5
    usa lo split che tanto non è che ti appesantisce...di sicuro è molto piu leggero dell'abbacchio...


  6. #6
    Originariamente inviato da santino83
    usa lo split che tanto non è che ti appesantisce...di sicuro è molto piu leggero dell'abbacchio...

    Grazie, ormai ho cambiato la memorizzazione della variabile

    variabile = "'pippo1' OR campo1 <> 'pippo2' OR campo2 <> 'pippo2'"




    Cmq in sql significa che non c'è modo giusto?

  7. #7
    la NOT IN sarebbe stata perfetta. Devi solo trasformare

    "PIPPO, PLUTO, PAPERINO"

    in

    "'PIPPO', 'PLUTO', 'PAPERINO'"

    e si fa con una semplice replace

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.