Pogledajte određenu poruku
Staro 27. 05. 2013.   #1
Nemanja Avramović
emperor Selassie
Grand Master
 
Avatar Nemanja Avramović
 
Datum učlanjenja: 20.10.2006
Lokacija: Mladenovac
Poruke: 754
Hvala: 361
576 "Hvala" u 88 poruka
Nemanja Avramović će postati "faca" uskoroNemanja Avramović će postati "faca" uskoroNemanja Avramović će postati "faca" uskoroNemanja Avramović će postati "faca" uskoroNemanja Avramović će postati "faca" uskoroNemanja Avramović će postati "faca" uskoro
Pošaljite ICQ poruku za Nemanja Avramović Pošaljite poruku preko MSN za Nemanja Avramović Pošaljite poruku preko Yahoo za Nemanja Avramović
Default [MySQL] nešto kao where IN, ali da hvata sve

Možda je malo konfuzan naslov teme ali evo šta pokušavam: Imam sajt sa nekretninama i svaka od nekretnina može da ima neke "pogodnosti" pridružne (amenities, ne znam da li sam lepo preveo). To je sve organizovano ovako u tabelama (koje su bitne za problem):

1. properies - id, title, description, price, ...
2. amenities - id, name
3. amenities_properties - amenity_id, property_id

E sad, pri pretrazi nekretnina imam checkboxove kojima treba da se suze rezultati pretrage na samo one nekretnine koje imaju sve označene "pogodnosti" pridružene. Probao sam ovako:

Kôd:
SELECT DISTINCT `properties`.*
FROM `properties`
...
LEFT JOIN `amenities_properties` ON `properties`.`id` =
 `amenities_properties`.`property_id`
...
WHERE `amenities_properties`.`amenity_id` IN (9, 15, 24)
Međutim, to mi vraća sve nekretnine koje imaju bar jednu od označenih pogodnosti, ali meni trebaju samo nekretnine koje imaju sve označene (u primeru sve tri) pogodnosti pridružene. Zatim sam probao ovako:

Kôd:
SELECT DISTINCT `properties`.*
FROM `properties`
...
LEFT JOIN `amenities_properties` ON `properties`.`id` =
 `amenities_properties`.`property_id`
...
WHERE (
 `amenities_properties`.`amenity_id` = 9
AND
 `amenities_properties`.`amenity_id` = 15
AND
 `amenities_properties`.`amenity_id` = 24
)
Ovo mi ne vraća ništa Nema greške u upitu već je rezultat prazan, iako sam siguran da bar jedna od nekretnina ima pridružene sve pogodnosti sa kojima sam testirao.

Da li ima neki način da ja dohvatim sve nekretnine koje imaju sve pogodnosti pridružene, a da ne moram da dohvatim sve koje imaju bar jednu (sa where... in ()) pa da onda iz PHP-a proveravam svaku ponaosob?
__________________
Moj portfolio sajtić | wat?
Nemanja Avramović je offline   Odgovorite uz citat