Il existe un tableau des taux de change dans MS SQL Server 2005:
Tâche de requête SQL, décision?
ID | CURR | TARIF | DATE
| USD | 30 | 01.10.2010
| GBP | 45 | 07.10.2010
| USD | 31 | 08.10.2010
| GBP | 46 | 09.10.2010
| USD | 32 | 12.10.2010
| GBP | 48 | 03.10.2010
Les taux sont mis à jour en temps réel et il y a plus de 1 milliard de lignes dans le tableau.
Il doit écrire une requête SQL, qui fournira les derniers tarifs pour chaque devise.
Ma décision est:
SELECT c.[id],c.[curr],c.[rate],c.[date]
FROM [curr_rate] c, (SELECT curr, MAX(date) AS rate_date FROM [curr_rate]
GROUP BY curr) t
WHERE c.date = t.rate_date AND c.curr = t.curr
ORDER BY c.[curr] ASC
Est-il possible d'écrire une requête sans sous-requêtes et se joindre à des tables de dérivés?
Pour choisir un index primaire pour la table - c'est une tâche secondaire pour cette question. Je pense que PRIMARY INDEX devrait contenir des champs CURR et DATE. –