Hoogste waarde per artikel weergeven

Status
Niet open voor verdere reacties.

lammertc

Gebruiker
Lid geworden
30 nov 2002
Berichten
141
Hallo
Ik wil een artikeloverzicht maken uit een artikeltabel met meerdere componenten per artikel, deze componenten hebben allemaal een andere prijs.
Nu wil ik alleen het hoogst geprijsde component laten zien in combinatie met het artikel

Ik krijg dus een tabel met:
Artikel A----- Component X
Artikel B----- Component Y
Artikel C----- Component Z etc.

Als ik een query laat lopen werkt de functie MAX niet zoals ik wil
Heeft iemand een idee hoe ik dit kan oplossen?
Alvast bedankt
 
Heb je de componenten in een aparte tabel staan? Of staat alles in één tabel? In het laatste zal het wel kunnen kloppen, omdat je in dat geval niet kunt groeperen. Je moet dan eerst een subquery gebruiken om op basis van het artikel de hoogste prijs te lezen.
 
Hallo Michel

Alles staat in twee tabellen, de artikelsamenstelling in één en de prijs in de andere, deze koppel ik op CATALOG_NO
zie voorbeeld:

PARENT_PART CATALOG_NO PRIJS
355077------------12725---------------5.00
355077------------355077F---------175.00
355077------------275.175DK--------34.00
355077------------K6-------------------0.75

Elk PARENT_PART kan ook een CATALOG_NO zijn (het gaat om samengestelde artikelen)
Een query zou mogelijk zijn, maar hoe krijg ik een tabel met honderden PARENT_PARTs met het daarbij horende hoofdartikel (hoogste prijs)
Ik heb een query gemaakt over deze tabel, gesorteerd op PARENT_PART, Doorgesorteerd op prijs (Aflopend), en als Groupfunctie "Eerste"
Dan verwacht ik dus één PARENT_PART met één prijs ( de hoogste)
Niet dus!!
Dit is mijn query

SELECT PACK.PARENT_PART, PACK.CATALOG_NO, artprijs.PART_NO, First(artprijs.COST) AS EersteVanCOST
FROM PACK LEFT JOIN artprijs ON PACK.CATALOG_NO = artprijs.PART_NO
GROUP BY PACK.CONTRACT, PACK.PARENT_PART, PACK.CATALOG_NO, artprijs.PART_NO
ORDER BY PACK.PARENT_PART, First(artprijs.COST) DESC;

Kun je hier iets mee, of heb je de tabellen nodig?

Bedankt

Lammert
 
Een voorbeeldje is altijd makkelijker.... Maar je wilt de hoogste prijs, zeg je. Waarom gebruik je dan de functie FIRST? Ik zou denken dat je MAX nodig hebt om het hoogste bedrag te zoeken. En probeer alleen die velden te gebruiken die je nodig hebt om te koppelen aan de artikelsamenstelling. Dus een ID (sleutel)veld en de prijs moet al genoeg zijn.
 
Hi Michel
Zoals vaker een simpele oplossing.........
Werkt perfect!!!
Bedankt:thumb:
Lammert
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan