Ik wil een prijslijst maken uit een mssql 2005 db voor klanten
Nu heb ik het probleem dat klanten in een groep zitten met een bepaalde korting. en dat ze ook extra korting kunnen krijgen.
Ik gebruik 3 tabellen
Producten -> staan de omschrijving en artikel nummer in
Price --> de aktueele prijs
Discount --> hier staan de kortingen in voor de klanten en voor de groep waar de klant in zit
er bestaan namelijk 2 velden voor de kortingen welke in de
Disc --> hier staat een korting alleen voor de klant in dan is het veld DiscG 0
DiscG --> hier staat de korting voor de groep vd klant in dan is het veld Disc 0
Als ik een query draai
dan krijg ik deze waardes terug
Product Id 3 heeft 2 kortingen voor de klant en voor de groep.
Ik moet dus de korting van 28% hebben en die van 25% er uit filteren.
PriceTo moet null zijn anders is de prijs verlopen ( Prijs History)
ContID is het id van de klant waar de lijst voor is
Ik krijg het alleen niet voor elkaar om de laagste korting er uit te filteren. iemand een hint hoe dit aan te pakken?
idd moet gewoon de max pakken. zat te moeilijk te denken,.
Nu heb ik het probleem dat klanten in een groep zitten met een bepaalde korting. en dat ze ook extra korting kunnen krijgen.
Ik gebruik 3 tabellen
Producten -> staan de omschrijving en artikel nummer in
Price --> de aktueele prijs
Discount --> hier staan de kortingen in voor de klanten en voor de groep waar de klant in zit
er bestaan namelijk 2 velden voor de kortingen welke in de
Disc --> hier staat een korting alleen voor de klant in dan is het veld DiscG 0
DiscG --> hier staat de korting voor de groep vd klant in dan is het veld Disc 0
Als ik een query draai
dan krijg ik deze waardes terug
code:
1
2
3
4
5
6
7
| productID Artnr omschrijving Korting 3 10150 Artikel 1 25.00 3 10150 Artikel 1 28.00 4 10155 Artikel 2 28.00 4 10155 Artikel 2 25.00 5 80100 Artikel 3 25.00 6 80150 Artikel 4 25.00 |
Product Id 3 heeft 2 kortingen voor de klant en voor de groep.
Ik moet dus de korting van 28% hebben en die van 25% er uit filteren.
PriceTo moet null zijn anders is de prijs verlopen ( Prijs History)
ContID is het id van de klant waar de lijst voor is
code:
1
2
3
4
5
6
7
8
9
10
11
| SELECT P.[PK_PRODID] ,P.[PRODID] as Artikelnummer ,P.[DESC] as Omschrijving ,P.[QUANTITY] as Aantal ,Pr.[PRICE] as Bruto ,D.DISC as Korting ,(Pr.[PRICE] *(100-D.DISC)/100) as Netto FROM [dbo].[Producten] as P join PriceList as Pr ON Pr.FK_PRODUCT = P.[PK_PRODID] join Discount as D on D.FK_PRODUCT = Pr.FK_PRODUCT where PR.PRICE_TO is NULL and D.CONTID='1228' or (PR.PRICE_TO is NULL and D.DiscG>0 and D.CONTID =0) order by Pr.FK_PRODUCT |
Ik krijg het alleen niet voor elkaar om de laagste korting er uit te filteren. iemand een hint hoe dit aan te pakken?
idd moet gewoon de max pakken. zat te moeilijk te denken,.
