Voor een project op het werk zijn wij bezig om een mysql database met een berg data te koppelen aan een frontend access gui. Dit is allemaal perfect en ook alle query's werken prima.
Alleen de query wat eigenlijk het belangrijkste voor ons is krijg ik niet goed werkend. In 1 van de tabellen hebben wij alle leveranciers informatie staan met daarbij de prijzen en voorraad. Nu willen wij van deze tabel de laagste prijs met voorraad weten gegroepeerd per sku.
Ik heb een query die mij de laagste prijs laat zien gegroepeerd per sku echter pakt hij altijd de eerste waarde die hij tegenkomst in de tabel in plaats van de daadwerkelijk correcte waarde.
bovenstaand is 1 van de sku's die wij in de database hebben. Hier hoort supplier 3 als winnaar uit de bus te komen omdat deze de laagste prijs heeft en voorraad.
Met deze query krijg ik echter wel de laagste prijs echter laat hij de data zien van supplier 1 omdat deze eerder in de tabel staat.
Weet iemand hoe ik dit het beste kan doen of oplossen? Ik heb al een hele berg geprobeerd maar ik kom hier niet mee verder.
Alleen de query wat eigenlijk het belangrijkste voor ons is krijg ik niet goed werkend. In 1 van de tabellen hebben wij alle leveranciers informatie staan met daarbij de prijzen en voorraad. Nu willen wij van deze tabel de laagste prijs met voorraad weten gegroepeerd per sku.
Ik heb een query die mij de laagste prijs laat zien gegroepeerd per sku echter pakt hij altijd de eerste waarde die hij tegenkomst in de tabel in plaats van de daadwerkelijk correcte waarde.
code:
1
2
3
4
| pps_reference stock price sku mpn manufacturer supplier_code code (key) 77ssf07 8 74,61 S00025535 f7c029ea belkin supplier1 sup1-77ssf07 30fgh87 0 72,88 S00025535 f7c029ea belkin supplier2 sup2-30fgh87 lyuib3 5 53,61 S00025535 f7c029ea belkin supplier3 sup3-lyuib3 |
bovenstaand is 1 van de sku's die wij in de database hebben. Hier hoort supplier 3 als winnaar uit de bus te komen omdat deze de laagste prijs heeft en voorraad.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| SELECT l.sku, Min(s.price) AS MinVanPrice, s.stock, s.supplier_code, s.pps_reference, l.`code` FROM leverancier AS l INNER JOIN leverancier AS s ON l.`code` = s.`code` WHERE l.stock >= 1 GROUP BY l.sku ; |
Met deze query krijg ik echter wel de laagste prijs echter laat hij de data zien van supplier 1 omdat deze eerder in de tabel staat.
Weet iemand hoe ik dit het beste kan doen of oplossen? Ik heb al een hele berg geprobeerd maar ik kom hier niet mee verder.
-Te huur