Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> dane z 2 tabel... nie takie oczywiste (przynajmniej dla mnie
tom_v
post 13.04.2004, 13:23:22
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.03.2004
Skąd: Nowy Sącz / Będzin

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


Mam dwie tabele

PRODUCENT
id_producent
producent

ZAKUP
id_zakup
id_producent
id_klient
upust

Chcialbym dostac tabele w ktorej bylyby kolumny:
PRODUCENT.producent, ZAKUP.upust
zapytanie:
[sql:1:e84bd5ce7f]select producent.producent, zakup.upust from producent, zakup where producent.id_producent=zakup.id_producent AND id_klient=1;[/sql:1:e84bd5ce7f]
Zwraca mi taka tabele, ale nie wypisuje producentow dla ktorych dany id_klient nie ma upustów, a ja chcialbym liste wszystkich producentow i upustów jeśli są, a jeśli nie ma to puste pole, czyli coś w tym stulu:
----------
|A|23%|
----------
|B| |
----------
|C|12%|
----------
Go to the top of the page
+Quote Post
kszychu
post 13.04.2004, 13:25:43
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


[sql:1:ab1496c3b4]select producent.producent, zakup.upust from producent LEFT JOIN zakup ON producent.id_producent=zakup.id_producent WHERE id_klient=1;[/sql:1:ab1496c3b4]


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
tom_v
post 13.04.2004, 13:43:34
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.03.2004
Skąd: Nowy Sącz / Będzin

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


W odpowiedzi dostaje taką sama tabele jak przy poprzednim zapytaniu tj. tylko liste producentow dla ktorych jest podany upust.
Jesli wpisze to zapytanie bez WHERE id_klient=1 to dostaje liste wszystkich producentow i upustow dla kazdego klienta - lacznie z tymi producentami dla ktorych nie ma upustow. Tylko, ze ja potrzebuje taka liste dla konkretnego id_klient
Go to the top of the page
+Quote Post
kszychu
post 13.04.2004, 13:45:19
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


A sprawdz w bazie, może dla id_klient = 1 akurat masz takie a nie inne dane?


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
tom_v
post 13.04.2004, 13:53:18
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.03.2004
Skąd: Nowy Sącz / Będzin

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


Dla id_klient=1 mam upusty dla 2 producentow. Ale chcialbym aby po wyslaniu zapytania byla lista wszystkich producentow i upusty wypisane przy tych 2, a przy reszcie puste pola.
Go to the top of the page
+Quote Post
halfik
post 13.04.2004, 14:35:19
Post #6





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 17.05.2003
Skąd: Nysa

Ostrzeżenie: (10%)
X----


No to trzeba by zrobić złączenie obustronne, ale nie pamiętam ja kto szło. W każdym bądź razie musisz użyć jednocześnie left i rigth joina.

P.S nie próbuj też inner joina, bo to raczej nie o to Ci chodzi, no chyba że oczekujesz iloczynu kartezjańskiego tongue.gif A na serio, poszukaj gdziesik materiałów o złączeniach dwustronnych, bo to napewno to.


--------------------


"Nie wiedziałem tylko, że Bóg też był na grzybach, gdy majstrował przy wszechświecie" (Janusz Wisniewski)
dev: gazeta.ie
Go to the top of the page
+Quote Post
BzikOS
post 13.04.2004, 14:38:14
Post #7





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

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


[sql:1:0f17913975]SELECT p.producent, z.upust
FROM producent p
LEFT JOIN zakup z ON ( p.id_producent=z.id_producent AND z.id_klient=1 );[/sql:1:0f17913975]

Może tak? Nie sprawdzałem tego.
Go to the top of the page
+Quote Post
tom_v
post 13.04.2004, 16:28:49
Post #8





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.03.2004
Skąd: Nowy Sącz / Będzin

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


BzikOS - teraz działa dokładnie tak jak sobie bym tego życzył biggrin.gif
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 09:17