Können Sie versuchen, die folgende Abfrage zu verwenden?
SELECT a.Store_type, a.Date, a.Article, b.Price
FROM TRANSACTIONS a
LEFT JOIN PRICES b ON a.Store_type = b.Store_type
AND a.Article = b.Article
AND b.Date = (SELECT MAX (c.Date)
FROM PRICES c
WHERE a.Store_type = c.Store_Type
AND a.Article = c.Article
AND c.Date <= a.Date)
Es hat jedoch immer noch eine Unterabfrage, die verwendet wird, um das maximale Datum abzurufen.