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

    [mysql] Filtrare 3 valori da un campo.

    Ciao a tutti,

    in una tabella di un db ho un campo nomi che ha n valori.

    Se volessi filtrare una serie di dati usando più valori per quel campo c'è una sitassi tipo questa:

    codice:
    SELECT * FROM `contatti`where nome != ('alfonso','roberto')
    che mi eviti di scrivere:

    codice:
    SELECT * FROM `contatti`where nome != 'alfonso' AND nome != 'roberto'
    grazie per le risposte.

    Alfonso

  2. #2
    c'è la clausola IN, che però abbrevia la OR (e non la AND come nel tuo esempio, logicamente sbagliato)


  3. #3
    Originariamente inviato da optime
    c'è la clausola IN, che però abbrevia la OR (e non la AND come nel tuo esempio, logicamente sbagliato)

    che fosse errato o quanto meno poco elegante ci arrivo, ma se io ho bisogno che una query mi faccia di partenza sempre quel filtro come dovrei scrivere per essere corretto?

    in pratica io devo stampare una query che mi esclude tutti i nomi alfonso e roberto.

    con la clausola in come dovrei fare?

    grazie!

  4. #4
    Originariamente inviato da alfonsovincenzo
    in pratica io devo stampare una query che mi esclude tutti i nomi alfonso e roberto.
    *esclude*? quindi tutti i contatti tranne quelli che si chiamano alfonso o roberto? te lo chiedo perché la query che avevi postato prima faceva esattamente il contrario...

  5. #5
    si che mi esclude non ho messo il ! davanti al segno =

  6. #6
    codice:
    SELECT * FROM `contatti`where NOT (nome IN ('alfonso','roberto'))

  7. #7
    Originariamente inviato da optime
    codice:
    SELECT * FROM `contatti`where NOT (nome IN ('alfonso','roberto'))
    perfetto!

    ci ero andato vicino come ragionamento gentilissimo!

    per il contrario ho provato a togliere il not e funziona, ma a questo punto ti chiedo se è corretto o si deve fare diversamente.

  8. #8
    il NOT nega la condizione, quindi se lo togli si applica la condizione

  9. #9
    Originariamente inviato da optime
    il NOT nega la condizione, quindi se lo togli si applica la condizione
    si ci ero arrivato da solo

    volevo essere sicuro che fosse corretto.

    sei stato gentilissimo!

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.