j'ai ces tables:comment trouver un enregistrement entre une date de gamme
tableau 1:
date | idcurrency | total
2011-10-11 | 1 | 100
2011-10-14 | 1 | 500
2011-10-12 | 2 | 200
2011-11-01 | 2 | 100
Tableau 2
idcurrency | value | date
1 | 200 | 2011-10-09
1 | 350 | 2011-10-15
2 | 200 | 2011-10-09
2 | 250 | 2011-10-20
J'ai besoin de calculer une nouvelle total basé sur la multiplication du champ total du table 1
, avec le champ valeur du table 2
. Table 2
conserver les modifications sur la valeur monétaire et n'est pas la date continious, donc je ne peux pas comprendre comment joindre ces tables pour obtenir mon objectif
Changer la conception
Je pensais dans le changement la conception de table2, l'ajout d'un nouveau champ pour enregistrer la date limite de la fourchette pour la valeur de la monnaie, comme ceci:
idcurrency | value | start_date | end_date
1 200 2011-10-09 2011-10-14
1 350 2011-10-15 2011-12-14
2 200 2011-10-09 2011-10-19
2 250 2011-10-20 2011-12-14
Ensuite, je pourrais rejoindre Table1 et Table2 sans utiliser "appliquer externe", mais maintenant j'essaie de faire une requête pour ajouter ce nouveau champ
Merci !!
Qu'ont tu as essayé? Avez-vous une requête qui, selon vous, devrait fonctionner, mais ce n'est pas le cas? –
Avez-vous le contrôle sur la conception des tables ou sont-elles fixes? – dasblinkenlight
Je n'ai aucun contrôle sur la conception, mais si je crée une solution avec une meilleure performance que la solution «outter apply», je pourrais demander un changement dans la conception que je pensais changer la conception de table2, en ajoutant un nouveau champ à enregistrer la date finale de la plage pour la valeur de la monnaie, comme ci-dessus. Ensuite, je pourrais rejoindre ces tables sans l'utilisation d'une "application externe", améliorant les performances de la requête –