Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Trudne zapytanie SQL
jabadabas



Typ: neutral
Postów: 29
Zarejestrowany: Nov 2004
Trudne zapytanie SQL

Dane wejściowe:

powiedzmy, że mam 2 tabele:

Tabela klienci:
nr_klienta    imię          i pare innych pól

00001          Marek
00002          Justyna
00003          Adam
00004          Michał

Tabela Wypożyczone:
nr_wypożyczenia    nr_klienta      towar        i pare innych pól

00001                      00002          betoniarka
00002                      00004          kaloryfer


Problem:
Sformułować zapytanie, które zwróci z tabeli "Klienci", tylko tych, którzy są w tabeli "wypożyczone".
Innymi słowy przefiltrować tabelę "Klienci", wg. rekodrów z tabeli "Wypożyczone".


Przykładowy wynik zapytania:
nr_klienta    imię          i pare innych pól

00002          Justyna
00004          Michał

Będę wdzięczny za pomoc, życzę wesołych świąt.


_____________________________________________
Pozdrawiam, Marcin.


VB-Site

27-03-2005 13:11
Pokaż profil jabadabas  Wyślij email do jabadabas   Odwiedź stronę jabadabas       3398490
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

'najlepsze rozwiązanie:
SELECT Klienci.*, Wypożyczone.*
FROM Klienci INNER JOIN Wypożyczone ON Klienci.nr_klienta = Wypozyczone.nr_klienta;

'i trochę gorsze
SELECT Klienci.*, Wypożyczone.*
FROM Klienci, Wypożyczone
WHERE ((Klienci.nr_klienta) = Wypozyczone.nr_klienta);


INNER JOIN może być używane również z LEFT lub RIGHT, czyli zapis:
SELECT Klienci.*, Wypożyczone.*
FROM Klienci INNER JOIN LEFT Wypożyczone ON Klienci.nr_klienta = Wypozyczone.nr_klienta;
oznacza wyciągnij wszystkich klientów, choćby nic nie wypożyczali

a zapis:
SELECT Klienci.*, Wypożyczone.*
FROM Klienci INNER JOIN RIGHT Wypożyczone ON Klienci.nr_klienta = Wypozyczone.nr_klienta;
oznacza wyciągnij tylko tych klientów, którzy coś wypożyczali


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

30-03-2005 20:37
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
jabadabas



Typ: neutral
Postów: 29
Zarejestrowany: Nov 2004

Super, na innym forum dostałem odpowiedź:

SELECT klienci.nr_klienta, klienci.imie, klienci.kolumna3, klienci.kolumna4 FROM klienci, wypożyczenia WHERE klienci.nr_klienta=wypożyczenia.nr_klienta


_____________________________________________
Pozdrawiam, Marcin.


VB-Site

31-03-2005 10:05
Pokaż profil jabadabas  Wyślij email do jabadabas   Odwiedź stronę jabadabas       3398490
Wszystkich odpowiedzi: 2 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1