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

    [MySql] Problema con operatore OR

    ciao a tutti,

    ho una tabella con una serie di campi, ad esempio

    id
    nome
    cognome
    citta

    ho scritto una select che mi filtra dei valori tipo questa

    SELECT
    *
    FROM
    tabella
    WHERE
    cognome = 'tizio'
    AND
    nome = 'caio'
    AND
    citta = 'milano'
    OR
    citta = 'napoli'

    in quanto vorrei che tutti i tizio e caio di milano e napoli fossero estrapolati, la cosa che non capisco è che nella mia tabella ho 3 risultati utili, 2 per milano e 1 per napoli ma il risultato della query mi restituisce solo gli abitanti di milano.

    perchè?

    or non dovrebbe darmi entrambi i risultati?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Devi usare le parentesi

    codice:
    SELECT
    *
    FROM
    tabella
    WHERE
    cognome = 'tizio'
    AND
    nome = 'caio'
    AND
    (citta = 'milano'
    OR
    citta = 'napoli')
    oppure la clausola in

    codice:
    SELECT
    *
    FROM
    tabella
    WHERE
    cognome = 'tizio'
    AND
    nome = 'caio'
    AND
    citta in ('milano','napoli')
    edit. Qui

    http://dev.mysql.com/doc/refman/5.1/...recedence.html

    trovi l'elenco delle precedenze degli operatori e la spiegazione quindi di ciò che accade senza l'uso delle opportune parentesi.

  3. #3
    ah ok grazie!

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.