SQL Server dynamique de PIVOT de la requête?

J'ai été chargé de venir avec un moyen de traduire les données suivantes:

date        category        amount
1/1/2012    ABC             1000.00
2/1/2012    DEF             500.00
2/1/2012    GHI             800.00
2/10/2012   DEF             700.00
3/1/2012    ABC             1100.00

suivantes:

date        ABC             DEF             GHI
1/1/2012    1000.00
2/1/2012                    500.00
2/1/2012                                    800.00
2/10/2012                   700.00
3/1/2012    1100.00

Les taches blanches peuvent être Nuls ou blancs, soit est très bien, et les catégories devraient être dynamique. Un autre inconvénient de cette est que nous allons être en cours d'exécution de la requête dans une capacité limitée, ce qui signifie que les tables temporaires sont sortis. J'ai essayé de recherches et ont atterri sur PIVOT mais comme je n'ai jamais utilisé avant que je ne comprends vraiment pas, malgré tous mes efforts pour le comprendre. Quelqu'un peut me pointer dans la bonne direction?