![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 27.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam, piszę w pewnym problemem z którym długo się męczę i w końcu się poddałem.
Mianowicie chodzi o zapytanie do dwóch tabel podczas wyszukiwania rekordów. Mam dwie tabele: - ogloszenia( advert_id | title | content ) - cechy_ogloszen ( id | advert_id | cecha_id ) Każde ogłoszenie może mieć kilka cech (relacja advert_id) i teraz chciałbym wyszukać tylko takie ogłoszenia które mają cechy np. 1 i 2 (ogłoszenie musi mieć te dwie cechy, może mieć więcej byleby miał te dwie wskazane). Proszę o pomoc, pozdrawiam |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Najprościej (co nie oznacza najlepiej) można to ogarnąć tak:
To zadziała dla dwóch spokojnie - ale już dla trzeciej musisz dodać kolejnego joina... i warunek w WHERE... więc to nie jest uniwersalne rozwiązanie ale w miare szybkie Możesz też użyć opcji z podzapytaniem (wtedy jest uniwersalne choć mniej wydajne)
Ostatecznie możesz kombinować z GROUP_CONCAT na przykład tak:
Do wyboru, do koloru ![]() -------------------- If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;) Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 27.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Super! Pomogło!:-) Dzięki wielkie:-)
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 21.06.2025 - 09:23 |