J'ai une requête simple pour obtenir le taux de change en vigueur au moment de la création d'une transaction :
SELECT t.orderid, t.date,
(SELECT rate FROM sources.currency_rates r WHERE currencyid=1 AND
r.date>=t.date ORDER BY date LIMIT 1) rate
FROM sources.transactions t
Cela déclenche une erreur :
Error: Correlated subqueries that reference other tables are not
supported unless they can be de-correlated, such as by transforming
them into an efficient JOIN.'
J'ai essayé plusieurs types de jointures et de sous-requêtes nommées, mais aucune ne semble fonctionner. Quelle est la meilleure façon d'y parvenir ? Il s'agit d'un scénario très courant qui devrait être assez simple à mettre en œuvre dans Standard Sql de BQ.