J'ai deux tables contenant des données, et alors que j'ai vu de nombreux exemples sur la façon de faire ce que je veux avec une seule table (même ici sur SO), je n'arrive pas à comprendre comment le faire avec plus d'une table en utilisant Firebird (qui n'est probablement pas beaucoup plus différent de ce que la plupart des gens considéreraient comme du simple SQL), mais, je n'en sais pas assez pour en faire un cas.
Quoi qu'il en soit -
J'ai le code suivant :
select cqd.customer_price, cqd.entry_date, pnm.pn
from cq_detail cqd, parts_master pnm
where cqd.pnm_auto_key = pnm.pnm_auto_key
order by cqd.entry_date desc
Il renvoie les bonnes données, comme le montre l'exemple ci-dessous :
CUSTOMER_PRICE, ENTRY_DATE, PN
------------------------------
1,052.00 08.01.2012, 1938-12
1,054.00 08.02.2012, 1938-12
1,050.00 08.08.2012, 1938-12
1,051.00 08.04.2012, 1938-12
5,052.00 08.20.2012, 9999-19
7,054.00 08.07.2012, 9999-19
3,030.00 08.12.2012, 9999-19
6,021.00 08.04.2012, 9999-19
Ce qui me convient parfaitement. Malheureusement, les pouvoirs en place voudraient que l'ensemble des résultats soit juste :
CUSTOMER_PRICE, ENTRY_DATE, PN
------------------------------
1,050.00 08.08.2012, 1938-12
5,052.00 08.20.2012, 9999-19
SQL n'est pas mon travail habituel, notre spécialiste SQL habituel est absent et j'essaie de m'occuper des tâches les plus simples pendant son absence.
En résumé, j'ai besoin de renvoyer la date la plus récente pour chaque PN. Je soupçonne que j'aurai besoin d'une sélection imbriquée ou d'une forme de JOIN, et ces méthodes me dépassent un peu ces derniers temps.
Merci d'avance.
JB