Mal ne Frage...
Ich habe eine Tablle "Cp_Fecha" wo ich zu einem Datum einen Preis in einer Lagerposition speichere.
Code:
CREATE TABLE CP_FECHA (
ITEMID INTEGER NOT NULL, -- mein produkt
LOCATION CHAR(3) NOT NULL, -- mein Lager
FECHA DATE NOT NULL, -- Datum
CP NUMERIC(15,2) NOT NULL, -- Mittel-Preis
QTY_ACUM FLOAT,
TOTPARCIAL_ACUM FLOAT
);
Dabei kommt es aber zu Lücken, da man nur ein Register erstellt, wenn es zu einer Änderung kommt. Normalerweise frage ich das dann so ab:
Code:
SELECT FIRST 1 Cp FROM Cp_Fecha WHERE ItemId=:ItemId AND Location=:Loc AND Fecha <= :Fecha ORDER BY Fecha DESCENDING
Könnte man das in ein SELECT als JOIN einbauen oder nur als SubSelect ?
Also Sum Bsp:
Code:
SELECT IA.ItemId, IA.Item, Sum(IA.Qty), CF.CP
FROM ItemAct IA
LEFT JOIN Cp_Fecha CF ON (CP.ItemId=IA.ItemId AND CP.Location=IA.Location AND Fecha <= :Fecha) -- ich weiss, da fehlt was um nur 1 register zu bekommen
anstelle von :
Code:
SELECT IA.ItemId, IA.Item, Sum(IA.Qty),
(SELECT FIRST 1 Cp FROM Cp_Fecha WHERE ItemId=:ItemId AND Location=:Loc AND Fecha <= :Fecha ORDER BY Fecha DESCENDING) CP
FROM ItemAct IA
Ist das möglich ?
Danke schonma