Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Warunek przy pobieraniu z dwóch tabel
Zajec
post
Post #1





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

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


Mam dwie tabelki:

FILMY
# id
* tytul

WYPOZYCZENIA
# id
* film_id
* user_id

Chciałbym stworzyć listę filmów, które nie są przez nikogo wypożyczone. Doszedłem do prostego:

  1. SELECT f.id, f.tytul
  2. FROM filmy AS f, wypozyczenia AS w
  3. WHERE 1
  4. GROUP BY f.id


Czy może ktoś mi podpowiedzieć, jak dodać warunek na to, aby f.id nie występowało w żadnym w.film_id?

Ten post edytował Zajec 10.01.2006, 11:50:55
Go to the top of the page
+Quote Post
FiDO
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Jesli masz mysql >= 4.1 to mozesz tak:
  1. SELECT id, tytul
  2. FROM filmy WHERE id NOT IN (SELECT film_id
  3. FROM wypozyczenia)


Jesli nie to trzeba JOIN'em.. ale OUTER JOIN'em, a to co Ty zdazyles zrobic to jest INNER JOIN, nie wyciagniesz takim rekordow bez swoich "odwzorowan" w tej drugiej tabeli, a wlasnie takie Ci potrzebne.

  1. SELECT f.id, f.tytul
  2. FROM filmy f
  3. LEFT JOIN wypozyczenia w ON w.film_id = f.id
  4. GROUP BY f.id
  5. HAVING COUNT(*) = 0


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
Zajec
post
Post #3





Grupa: Zarejestrowani
Postów: 1 086
Pomógł: 8
Dołączył: 10.12.2003

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


Dziękuję :-) Im bardziej poznaję MySQL, tym bardziej go lubię :-)
Go to the top of the page
+Quote Post
SongoQ
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


No to poznaj inne bazki to bardziej polubisz SQL'a


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 07:29