Einzelnen Beitrag anzeigen

Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
675 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: SELECT FIRST 1 im JOIN möglich ?

  Alt 9. Nov 2017, 16:16
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 ?
  Mit Zitat antworten Zitat