![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 126 Pomógł: 0 Dołączył: 1.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam Szanownych forumowiczów,
moj problem polega, na zapewne jak dla Was prostym zapytaniu:
problem ze gdy dodaje 2 nawias AND (d.parametr_id='1' AND d.wartosc='50') wynik wyszukiwania mimo poprawnych danych jest zerowy, gdzie jest moj blad? Za odpowiedzi bardzo dziekuje. -------------------- ___________________________________________
www.digart.pl / galeria jakich mało. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
select p.id, p.nazwa, k.nazwa from wyszukiwanie_data d, oferta_produkty p, oferta_kategorie k WHERE ((d.parametr_id='2' AND d.wartosc='11.5') OR (d.parametr_id='1' AND d.wartosc='50')) AND d.produkt_id=p.id AND p.kat_id=k.id
-------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
zrobiles same AND, i dales warunki, ktore wzajemnie sie wykluczają. Przeciez jedno pole nie moze jednoczesnie przyjmować dwoch wartosci dla tego samego rekordu.
Dla zrobienia LUB sluzy operator OR -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 126 Pomógł: 0 Dołączył: 1.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
a widzisz tu jest troszke inaczej, jest tabela produkty i zawiera kolumnu id, nazwa itd. do kazdej tabeli kolumny przypisane jest kilka parametrow wyszukiwania z tabeli wyszukiwanie data i teraz jak zrobic zeby kilka wartosci musialo sie zgadzac?
Na przykkladzie mam w tabeli wyszukiwanie data nasteopujace rekordy_ id/parametr_id/wartosc/produkt_id 1/1/235/100 2/2/34/100 3/2/346/5 4/2/342/67 5/3/342/56 6/1/56/35 i jak teraz wypisac produkty gdzie wartosc parametru_id = 1 oraz wartosc 235 oraz parametru_id = 2 oraz wartosc = 34. Chciany wynik to produkt o id 100 rozumiesz? czy znow namacilem? -------------------- ___________________________________________
www.digart.pl / galeria jakich mało. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
hmm...
1) robisz na OR, grupujesz, zliczasz liczbe rekordow z takim samym produktem i pokazujesz tylko te, gdy tych rekordow jest 2 lub 2) piszesz funkcje, ktora zwraca ci ID produktu dla danych warunkow. nastepnie w selecie walisz warunki:
Przyznam szczerze ze nie miałem styczności z takim problemem wczesniej i pewnie mozna go rozwiązac ładniej niż ja to tu teraz zaproponowalem -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 300 Pomógł: 32 Dołączył: 31.07.2006 Ostrzeżenie: (0%) ![]() ![]() |
Pisane z palca, więc może nie działać, ale po prostu:
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 126 Pomógł: 0 Dołączył: 1.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
Sposob podany przez ucho sprawdza sie doskonale. Bardzo dziękuje chłopaki za pomoc.
Ten post edytował dobryvinyl.com 6.12.2008, 10:29:10 -------------------- ___________________________________________
www.digart.pl / galeria jakich mało. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 09:19 |