Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> 3 tabele, 2 takie same pola z tej samej tabeli i, ...sam nie wiem jak nazwać ten problem;)
xamil
post
Post #1





Grupa: Zarejestrowani
Postów: 158
Pomógł: 0
Dołączył: 9.01.2005

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


Witam. Mam taki problem.

tabela:
klienci:
id | nazwa | email

towary:
id | id_klienta | nazwa | opis

raporty:
id | id_klienta | id_towaru | co zrobił


Łącze tabele 'klienci' i 'towary' i wyświetlam wszystkie nazwy towarów ('towary.nazwa') z przypisana nazwa klienta ('klienci.nazwa').

Kod
SELECT towary.nazwa, klienci.nazwa FROM klienci LEFT JOIN towary ON (towary.id_klienta=klienci.id);


Dodatkow jest tabela 'raporty' która raportuje pewne dzialania klientów na towarach. Np. zmiane opisu, ceny. To jest troche bardziej skomplikowane i nie chce mi się tego tłumaczyć ale myśle, że tyle wyjaśnień wystarczy.

Chce więc teraz wyświetlić wszystkie raporty z działań jakich dokonali klienci na towarach wraz z przypisanym klientem ktory tego dzialania dokonał. Zaznaczam, że klient może dokonywac zmian na każdym towarze nawet nie swoim.

Kod
SELECT towary.nazwa, raporty.co_zrobil, klienci.nazwa FROM raporty LEFT JOIN towary ON (raporty.id_towaru=towary.id) LEFT JOIN klienci ON (raporty.id_klienta=klienci.id);


No wszystko jest pięknie tylko, że ja chce iść jeszcze dalej i wyświetlić obok nazwy towaru, opisu działania oraz nazwy klienta który tego działania dokonał jeszcze nazwe klienta który ten towar posiada... no i tu leże... nie wiem jak to zrobić. Jakieś pomysły?

Z góry dzięki za wszelką pomoc.

Ten post edytował xamil 4.07.2005, 09:46:38
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
dag
post
Post #2





Grupa: Zarejestrowani
Postów: 180
Pomógł: 0
Dołączył: 24.12.2003

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


Spróbuj:
  1. SELECT towary.nazwa, raporty.co_zrobil, klienci.nazwa AS nazwa_klienta_ktory_zrobil, (SELECT klienci.nazwa
  2. FROM klienci WHERE klienci.id=towary.id_klienta) AS nazwa_klienta_ktory_posiada_towar
  3. FROM raporty LEFT JOIN towary ON (raporty.id_towaru=towary.id)
  4. LEFT JOIN klienci ON (raporty.id_klienta=klienci.id)
Go to the top of the page
+Quote Post
xamil
post
Post #3





Grupa: Zarejestrowani
Postów: 158
Pomógł: 0
Dołączył: 9.01.2005

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


Czy ja tu widze podzapytanie? Jak tak to lipa bo baza nie obsługuje podzapytań:(

Jakieś inne pomysły? (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Ten post edytował xamil 4.07.2005, 13:45:16
Go to the top of the page
+Quote Post

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: 22.08.2025 - 21:57