Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zapytanie do tablicy asocjacyjnej
Forum PHP.pl > Forum > Bazy danych > MySQL
alienps
Witam
Mam problem. Mam tabele asocjacyjna laczaca tabele ogloszenia i wyposazenie (pola id_ogloszenia i id_wyposazenia). Chce aby zapytanie zwrocilo mi id_ogloszenia ktore ma wszystkie z zaznaczonych w wyszukiwarce elementow wyposazenia. uzywalem IN ale wtedy wystarczalao aby 1 element wyposazenia pasował aby zapytanie zwrocilo id_ogloszenia.
phobos
zrob soboe takie cos ze ustawiasz tablice np: $id_wypas
i dla kazdego pola zanaczonego wpisujesz jego wartosc do tablicy
jako $id_wypas[]="id_wyposarzenia=$wartosc pola"
potem
implode("and",$id_wypas) ( laczy elem. )
i na koniec walisz to w query
$query ="select id_ogloszenia from tabela where $id_wypas"
alienps
dzieki za odpowiedz ale tak jak Ty pokazujesz wychodzi:
  1. SELECT id_ogloszenia
  2. FROM tabela
  3. WHERE id_wyposazenia=1 AND id_wyposazenia=3...

wtedy mysql(chyba) sprawdza 1 rekord a ze kryteria sa sprzeczne ze soba to nic nie pokazuje.
Bede wdzieczny za inne pomysły
060156
Musisz uzyc left join na dwoch tableach
i organiczyc wyposarzenie w where uzywajac
in ..

  1. SELECT t2.cos
  2. FROM tabela1
  3. t1 LEFT JOIN tabela2 ON t2.klucz=t1.klucz
  4. WHERE t2.cos IN(........)
alienps
wiem ze sie powtarzam ale to nie dziala. sam robilem w podobny sposob ale uzywajac aliasow, tez stosowalem in ale bez skutku. puki co bszedlem proble wstawiajac w tabeli ogloszenia pole wyposazenie i umieszczajac tam ciag id_wyposazen ktorego pozniej szukam LIKE. Wiem ze to moze sposob nieelegancki na ale coz, lepszy rydz niz nic:) dzieki za posty
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.