Jedno zapytanie, a warunki w zapytaniu

0

Witam,

Mam tabelkę ZAM_PROD w baze danych. Przykładowe dane wyglądają następująco:
<img src=http://naforum.zapodaj.net/thumbs/4d221479bd02.png alt=hosting zdjęć zapodaj.net />

Moje pytanie brzmi, czy mogę w JEDNYM zapytaniu wyciągnąć wszystkie zamówienia z ich łączną wartością brutto? Problem polega na tym, że w jednym zamówieniu mogą być produkty, które posiadają cenę rabatową, inne natomiast mogą jej nie posiadać. Należy więc sumować z każdego zamówienia ceny rabatowe jeśli takie istnieją, a jeśli nie to brać pod uwagę cenę netto.

I żeby w jednym zapytaniu wyciągnąć wszystkie zamówienia. Jedno zamówienie to jeden rekord z sumowaną wartością brutto produktów.
W chwili obecnej nie mam uwzględnionych cen rabatowych i zapytanie wygląda tak:

SELECT ZAMOWIENIA.Id_zamowienia, SUM(ROUND(ZAM_PROD.Cena_netto * ( ( 100 + ZAM_PROD.Vat ) /100 ), 2 ) * ZAM_PROD.Ilosc) AS wartosc_brutto
FROM ZAM_PROD
LEFT JOIN ZAMOWIENIA ON ZAM_PROD.Id_zamowienia = ZAMOWIENIA.Id_zamowienia
GROUP BY ZAMOWIENIA.Id_zamowienia
ORDER BY ZAMOWIENIA.Id_zamowienia DESC

Zwraca mi Id_zamówienia oraz sumę cen netto produktów. Jak zmodyfikować te zapytanie, aby uwzględniało mi ewentualne ceny rabatowe produktów?

2

Zamiast ZAM_PROD.Cena_netto wpisać Coalesce(ZAM_PROD.Cena_rabatowa,ZAM_PROD.Cena_netto)

0

Wow, super dzięki! :) Słyszałem o tej funkcji, ale nie miałem pojęcia, że tak ona działa, raz jeszcze dzięki wielkie :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1