Mam tabeli jak poniżej:MySQL Multiple Gdzie Klauzula
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
Chcę wziąć image_id kolumnę jeżeli:
style_id = 24
istyle_value = red
style_id = 25
istyle_value = big
style_id = 26
istyle_value = round
mam zrobić kwerendę tak:
$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')
ale nie mogłem dostać żadnego rezultatu. Kiedy robię tę próbkę za pomocą OR, działa dobrze. Ale muszę to zrobić z AND. Ponieważ potrzebuję obrazów id, które są zarówno "czerwone, duże i proste".
Zrobiłem dużo wyszukiwania w Google, ale nie mogłem ukoić żadnego rozwiązania.
Dzięki,
Życzę miłej pracy.
Czy istnieje jakaś zależność między atrybutem style_id a value_value? Oznacza to, że styl_id 24 oznacza "czerwony", a styl_id 25 oznacza "duży"? – mdoyle
Tak, mam inną tabelę o nazwie "style". A styl ma 5-6 różnych opcji. Na przykład: style_id 24 ma 5 różnych opcji (czerwony, zielony, żółty, ...). –
Czy możesz podać listę "SHOW CREATE TABLE" \ G "i" SHOW CREATE TABLE styles \ G ", a także podać kilka przykładowych wierszy z tabeli' styles'? – mdoyle