2012-01-12 10 views
10

Im usando IN per selezionare roba ...mysql in dichiarazione

WHERE categories IN ("red", "blue", "green") 

Questo seleziona ogni elemento in categorie rossi, blu o verdi, la mia domanda è: esiste un modo per selezionare un elemento che deve essere in tutte e tre le categorie?

+3

È categorie una colonna in una tabella? Come sarebbero rappresentate più categorie in questo caso? –

+1

@DavidM Sì, l'ho capito anche quando ho scritto una risposta. Se è una singola colonna (come il suggerimento suggerito con la query parziale), come potrebbe appartenere a più categorie? – Crontab

+0

@Crontab Specialmente con la colonna 'WHERE IN()'. –

risposta

20
SELECT Item 
    FROM YourTable 
    WHERE categories IN ('red', 'blue', 'green') 
    GROUP BY Item 
    HAVING COUNT(DISTINCT categories) = 3 
+0

come si aggiunge il limite? questo è decisamente sbagliato SELEZIONA * DAI CLIENTI DOVE Città IN ('Berlin', 'México D.F.') LIMIT 5, 5; –

+0

@MarlonBuendia Si prega di iniziare una nuova domanda per qualcosa di simile. –

+0

Penso che io possa semplicemente modificare la mia domanda attuale –

0
SELECT Item 
    FROM YourTable 
    WHERE categories ALL ('red', 'blue', 'green') 
Problemi correlati