Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    412

    Si può mettere più di una condizione in una query mysql?

    Necessito in pratica di prendere i nomi e cognomi di alcune persone solo se la loro città di residenza equivale al CAP inserito e allo stesso tempo abbiano come colore associato il giallo OPPURE il bianco

    Questa è la query a cui ho pensato

    SELECT utenti.nome, utenti.cognome
    FROM
    (
    utenti LEFT JOIN citta ON utenti.idCitta=citta.ID
    )
    WHERE citta.ID='$idCAP' AND WHERE utenti.colore='giallo' OR WHERE utenti.colore='bianco'



    Si può fare o è errata? Il dubbio ce l'ho sull'utilizzo dell' AND WHERE e dell'OR WHERE

  2. #2
    WHERE citta.ID='$idCAP' AND (utenti.colore='giallo' OR utenti.colore='bianco')

    qualche regoletta sintattica bisogna seguirla




  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    412
    ok, poi un'altra domanda se non ti dispiace... siccome devo mettere tanti "OR colore=valore" quanti sono gli elementi di un array, nel PDO esiste già questa possibilità oppure devo crearmi un ciclo che aggiunga i vari valori alla stringa di query ?

  4. #4
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    invece di fare condizione con tanti OR la puoi sostituire con qualcosa del tipo

    ... WHERE colore IN ('giallo','rosso','verde','bianco',... etc)

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    412
    ottimo!
    Resta comunque il fatto che i colori e il relativo numero io non li conosco a priori e devo prelevarli quindi da un array. Confemri che l'unica soluzione è costruirmi la stringa tramite un ciclo

  6. #6
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Sono solo presenti in un array (quindi una struttura del tuo linguaggio di programmazione) o li potresti trovare anche in una altra tabella (che ne so... una anagrafica dei colori) ?

    Se li trovi anche in una tabella puoi fare

    ... where colore in (select colore from tabella_colori)

    altrimenti devi costruirti la stringa con un ciclo del tuo linguaggio di programmazione (attenzione a non postare qui richieste che riguardino la scrittura del codice del ciclo... questa è la sezione database )

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    412
    no solo solo in un array
    nessuna richiesta in quanto è una coaa che già mi sono creato

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    412
    Originariamente inviato da comas17
    invece di fare condizione con tanti OR la puoi sostituire con qualcosa del tipo

    ... WHERE colore IN ('giallo','rosso','verde','bianco',... etc)
    spetta, ma ciò non toglie che mi servono due WHERE:

    WHERE citta.ID='$idCAP' AND WHERE utenti.colore IN ('giallo','rosso','verde','bianco',... etc)

    è corretto?

  9. #9
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    No, ci va sempre solo un WHERE

    ...WHERE citta.ID='$idCAP' AND utenti.colore IN ('giallo','rosso','verde','bianco',... etc)

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.