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

    [MySql] problema su query con varie condizioni..

    salve a tutti,
    ho un campo "discipline" composto da alcune selezioni da un checkbox che ho raggruppato in un unica stringa separata da | come esempio:

    d1|d2|d3|d4|d5|...|d11|d12..

    devo fare una query che soddisfi alcune condizioni tra cui:

    - un campo del db denominato "validato" deve essere 'S'
    - un campo del db denominato "comitato" deve essere 'test'
    - il campo denominato "discipline" deve contenere almeno uno tra d1, d4, d11 (esempio).

    questa è la mia query:
    codice:
    SELECT * FROM tabella WHERE validato='S' and comitato in('test') and discipline like '%d1|%' or discipline like '%d4|%' or discipline like '%d11|%'
    finchè il campo discipline è uno, tutto ok..

    ovviamente se le discipline sono più di una, data la sintassi sopra, la select seleziona tutto ciò che soddisfa la prima parte (validato=S, comitato in('test') e discipline like d1|) OPPURE una delle altre condizioni (discipline like d4|, discipline like d11|)..

    come posso raggruppare il campo discipline facendo un modo che il suo "or" non influenzi il resto della query?

    è possibile fare una cosa del genere?!
    codice:
    and discipline like (d1| or d4| or d11|)
    grazie..

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Certo!!
    Le parentesi le hanno inventate apposta...

  3. #3
    Originariamente inviato da luca200
    Certo!!
    Le parentesi le hanno inventate apposta...
    lo so , ma non trovo una sintassi che vada bene..

  4. #4
    Originariamente inviato da andropoff
    lo so , ma non trovo una sintassi che vada bene..
    nn mi aiuta nessuno?!

  5. #5
    Originariamente inviato da andropoff
    nn mi aiuta nessuno?!
    codice:
    .....
    and (discipline like '%d1|%' or discipline like '%d4|%' or discipline like '%d11|%' )
    mettere tra parentesi gli OR come avevi pure proposto tu stesso.

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

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.