![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 9.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam nastepujacy problem: Jest tabela CARS z polami: id (klucz glowny) owner_id (klucz obcy tabeli owners, więc może się powtarzać. wlasciciel moze posiadac wiele samochodów) mark year I chce wyciagnac wszystkie rekordy, ktore zawieraja np. ZARÓWNO mark=opel oraz year=2002, jak i mark=seat oraz year 2001, czyli takie zagniezdzone AND, tyle, że dość nietypowe (bo to bedzie wyszukiwarka z checkboxami). Moja propozycja jest nastepujaca:
Czy dobrze kombinuje? Niestety nie moge teraz tego sprawdzic, bo nie mam tu dostepu do mojego projektu, ale podejrzewam, ze to nie bedzie takie proste. Bede wdzieczny za wszelkie wskazówki, dzięki. Ten post edytował Zeppelin 27.09.2010, 09:53:27 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
To co miałeś aktualnie jest sprzeczne i zawsze byś miał pusty wynik. -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
yyy, przeciez rekord samochodu nie moze byc jednoczenie mark=opel i mark=seat
![]() Nie AND a OR (mark=opel AND year=2002) or (mark=seat AND year=2001) -------------------- "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: 47 Pomógł: 0 Dołączył: 9.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie za odzew.
yyy, przeciez rekord samochodu nie moze byc jednoczenie mark=opel i mark=seat ![]() Nie AND a OR (mark=opel AND year=2002) or (mark=seat AND year=2001) No właśnie dlatego, że rekord samochodu nie moze byc jednoczenie mark=opel i mark=seat to nie wiem jak to zrobić, żeby mi wybrał TYLKO te owner_id, dla których zachowane są WSZYSTKIE warunki. Logicznie jest to spójne, ponieważ zarowno dla marki opel z rocznikiem 2002, jak i seata z rocznikiem 2001, MOŻE BYĆ ten sam owner_id. Wg mnie musi się dać to jakos rozwiazac :/ Macie jakies propozycje? |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
No przecież podaliśmy rozwiązanie.
-------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 9.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
No przecież podaliśmy rozwiązanie. Przepraszam, zapomniałem coś dopisać. Otóż OR wg mnie nie zadziała, ponieważ zwróci wynik NAWET WTEDY, GDY bedzie spełniony JEDEN z warunków pomiędzy OR, a mi chodzi o to, aby zwróciło rekord, gdy są spełnione WSZYSTKIE warunki, czyli ten wlasciciel musialby posiadac zarowno seata jak i opla, a z tym OR to zwroci rekord juz wtedy kiedy bedzie posiadal jeden z nich. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Takie buty....
Coś w ten desen. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 9.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Takie buty....
Coś w ten desen. Wow, olbrzymi krok na przód! ![]() A co jesli nie znam z góry ile bedzie tych warunków obok OR? Czyli:
Czy bedzie mozliwe zalatwic to w sql'u? Bo jeśli nie to zalatwie to inaczej po za sql'em, choc w sql'u byloby bardziej optymalnie to zrobić. W kazdym razie wielkie dzięki za pomoc ![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat A co jesli nie znam z góry ile bedzie tych warunków obok OR? Czyli: Bez problemu[SQL] pobierz, plaintext WHERE (warunek 1) OR (warunek 2) [OR (warunek n)] Czy bedzie mozliwe zalatwic to w sql'u? Tu pisałem jak dynamicznie budować warunki dla zapytania http://nospor.pl/wyszukiwarka-zapytanie-za...d-warunkow.html musisz tylko wprowadzic lekką modyfikację pod siebie. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 14:59 |