Krame das Thema nochmal hervor. Die Abfrage müsste lauten :
Code:
SELECT
IA.ItemId, IA.Item, Sum(IA.Qty), MAX(CP1.CP) Costo
FROM
ItemAct IA
join (SELECT FIRST 1 Cp, ItemId FROM Cp_Fecha WHERE ItemId=IA.ItemId AND Fecha <= :Fecha ORDER BY Fecha DESCENDING) CP1 on cp1.ItemID = IA.ItemID
GROUP BY IA.ItemId, IA.Item
Aber er sagt, er kenne
IA.ItemId nicht.
Gibt es eine Möglichkeit mit
SQL das folgende rauszubekomen :
Tabelle Cp_Fecha mit den Feldern ItemId, Fecha (Datum auf spanisch) und CP (Mittelpreis)
Jedesmal wenn der mittelpreis sich ändert, dann wird ein Register geschrieben, max 1 pro tag mit dem letzten Mittelpreis. Manchmal hat man Löcher von Tagen, Wochen und Monaten ohne eine Änderung.
|
ItemId Fecha CP |
10 01/01/2017 3.50 |
10 05/01/2017 3.80 |
10 30/01/2017 3.60 |
105 02/01/2017 45.30 |
105 12/01/2017 46.00 |
105 03/02/2017 46.10 |
544 02/01/2017 5.63 |
544 07/01/2017 6.12 |
Jetzt will ich den Preis eines jeden Produktes, also 10, 105 und 544) zum 06/01/2017 wissen. Die Abfrage sollte den Preis zum Tag oder den nächst vorherigen nehmen. Im Fall des Produktes 10 den vom 05/01/2017.
Ideen ?