Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zagniezdzony AND
Zeppelin
post
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:
  1. SELECT owner_id FROM cars WHERE (mark=opel AND year=2002) AND (mark=seat AND year=2001)


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Takie buty....
  1. SELECT owner_id FROM cars
  2. WHERE (mark=opel AND year=2002) OR (mark=seat AND year=2001)
  3. GROUP BY owner_id HAVING count(owner_id) = 2

Coś w ten desen.
Go to the top of the page
+Quote Post
Zeppelin
post
Post #3





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 9.05.2009

Ostrzeżenie: (0%)
-----


Cytat(nospor @ 27.09.2010, 11:27:04 ) *
Takie buty....
  1. SELECT owner_id FROM cars
  2. WHERE (mark=opel AND year=2002) OR (mark=seat AND year=2001)
  3. GROUP BY owner_id HAVING count(owner_id) = 2

Coś w ten desen.


Wow, olbrzymi krok na przód! (IMG:style_emoticons/default/smile.gif)

A co jesli nie znam z góry ile bedzie tych warunków obok OR? Czyli:
  1. WHERE (warunek 1) OR (warunek 2) [OR (warunek n)]


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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 17:27