Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] pomoc w poprawieniu zapytania
Forum PHP.pl > Forum > Bazy danych > MySQL
mike-ol
Witam

Mój problem polega na tym że mam tabelę magazyn oraz rabaty. Struktura wygląda mniej więcej tak:

tabela magazyn

kod_producenta
kod_wewnetrzny
producent
nazwa
cena
ilosc
rozmiar
typ

tabela rabaty

id
producent
id_klienta
rabat

Chciałbym pobrać produkty z tabeli magazyn z ceną pomniejszoną o rabat. Stworzyłem takie zapytanie :

  1. SELECT magazyn.*, rabaty.producent, rabaty.id_klienta, (magazyn.cena - (rabaty.rabat*magazyn.cena)) AS CenaPomniejszona FROM magazyn, rabaty WHERE magazyn.producent=rabaty.producent AND rabaty.id_klienta='.$_SESSION['id'].';


lecz w wyniku dostaję tylko produkty w których jest ustalony rabat. Jak zmodyfikować to zapytanie tak aby pobierane były wszystkie produkty?
Mchl
Kod
SELECT magazyn.*, rabaty.producent, rabaty.id_klienta, (magazyn.cena - (rabaty.rabat*magazyn.cena)) AS CenaPomniejszona FROM magazyn LEFT JOIN rabaty ON magazyn.producent=rabaty.producent WHERE rabaty.id_klienta='.$_SESSION['id'].';

mike-ol
Niestety nadal zwraca tylko te rekordy dla których ustalone są rabaty.
Mchl
Kod
SELECT magazyn.*, rabaty.producent, rabaty.id_klienta, (magazyn.cena - (rabaty.rabat*magazyn.cena)) AS CenaPomniejszona FROM magazyn LEFT JOIN (SELECT * FROM rabaty WHERE rabaty.id_klienta='.$_SESSION['id'].') AS rabaty ON magazyn.producent=rabaty.producent;

mike-ol
Bardzo dziękuję za pomoc. Cały dzień nad tym siedziałem
Mchl
Ja kiedyś też tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.