![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 74 Pomógł: 0 Dołączył: 17.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam mój problem będzie zapewne prosty dla kogoś kto dobrze zna mysql, ja sobie nie moge z nim poradzić
![]() Sprowadzę całość do prostszego przykładu: mam dwie tabele: 'produkt', 'cecha' połączone relacją wiele do wielu i tabele haszującą 'produkt_cecha'. Chcę pobrać wszystkie produkty które mają dwie wybrane cechy (mam nazwy tych cech). Napisałem coś takiego: SELECT produkt.id FROM produkt JOIN produkt_cecha ON produkt.id = produkt_cecha.id_produktu, produkt_cecha JOIN cecha ON produkt_cecha.id_cechy = cecha.id WHERE cecha.nazwa = 'owalny' AND cecha.nazwa = 'zielony'; Co przypuszczam: Takie zapytanie nie zwróci mi żadnych produktów, bo np produkt 'jajko' będzie powielony joinem dwa razy (po razie dla każdej cechy), a nie bedzie widziane przez mysql jako jeden produkt z dwoma cechami. Jakie zapytanie muszę napisać żeby pobrało mi produkt z dwiema cechami jednocześnie? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj o: self join oraz IN()
-------------------- Google knows the answer...
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Czekam na PW z propozycją poprawnej nazwy tematu. Do tego czasu zamykam.
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 20:16 |