Bonjour,
Pour ma première contribution à ce forum, j'aimerais avoir une solution pour simuler une boucle foreach dans une requête SQL.
Voici le contexte, relativement simple soit dit en passant :
J'ai une table avec des articles, des prix, et des dates de création du prix. La date est stockée en format nombre du type '20170101'.
Un article possède plusieurs prix, mais un seul qui est celui actuel.
J'aimerais trouver, pour chaque articles, le prix qu'il avait à une date donnée. Ce qui revient à dire, trouver pour chaque article, le prix dont la date de création est la plus proche inférieure à une date donnée.
J'aimerais donc faire quelque chose du genre :
Mais pour chaque article. Donc l'imbriquer dans une sorte de :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT LIMIT 1 Article, Prix, DateCreation FROM Tarif WHERE DateCreation < 20170801 ORDER BY DateCreation DESC
Bien sûr ma syntaxe est incorrecte. Pouvez-vous m'aiguiller ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 FOREACH SELECT DISTINCT Article FROM Tarif ...
Merci.
Partager