Ho una tabella come questa:MySQL multipla Dove clausola
id image_id style_id style_value
-----------------------------------
1 45 24 red
1 45 25 big
1 47 26 small
1 45 27 round
1 49 28 rect
voglio prendere colonna image_id se:
style_id = 24
estyle_value = red
style_id = 25
estyle_value = big
style_id = 26
estyle_value = round
devo fare una query come questa:
$query = mysql_query("SELECT image_id FROM list WHERE (style_id = 24 AND style_value = 'red') AND (style_id = 25 AND style_value = 'big') AND (style_id = 27 AND style_value = 'round')
Ma non ho potuto ottenere alcun risultato. Quando faccio questo esempio con OR, funziona bene. Ma devo farlo con AND. Perché ho bisogno di id di immagine che sono sia "rossi, grandi e retti".
Ho fatto molte ricerche con Google ma non ho potuto risolvere nessuna soluzione.
Grazie,
Have a nice lavoro.
Esiste una dipendenza tra style_id e style_value? Cioè, style_id 24 significa "rosso", mentre style_id 25 significa "grande"? – mdoyle
Sì, ho un'altra tabella denominata "stili". E uno stile ha 5-6 diverse opzioni. Ad esempio: style_id 24 ha 5 diverse opzioni (rosso, verde, giallo, ...). –
Potete fornire un 'SHOW CREATE TABLE list \ G' e' SHOW CREATE TABLE styles \ G', e fornire anche alcune righe di esempio dagli 'stili' della tabella? – mdoyle