Preciso saber como criar uma consulta de referência cruzada

Preciso de ajuda para criar os resultados abaixo. Eu pensei em um pivô sql, mas eu não sei como usá-lo. Analisamos alguns exemplos e não podemos encontrar uma solução. Quaisquer outras idéias sobre como realizar isso também são bem-vindas. Colunas de status devem ser geradas dinamicamente.

Tem três tabelas, ativos, tipos de ativos, status do recurso

Table: assets
assetid     int
assettag    varchar(25)
assettype   int
assetstatus int

Table: assettypes
id         int
typename   varchar(20)  (ex: Desktop, Laptop, Server, etc.)

Table: assetstatus
id         int
statusname varchar(20)  (ex: Deployed, Inventory, Shipped, etc.)

Resultados desejados:

AssetType     Total   Deployed   Inventory  Shipped     ...
-----------------------------------------------------------
Desktop         100       75        20          5       ...
Laptop           75       56        19          1       ...
Server           60       50        10          0       ...

Alguns dados:

assets table:
1,hol1234,1,1
2,hol1233,1,2
3,hol3421,2,3
4,svr1234,3,1

assettypes table:
1,Desktop
2,Laptop
3,Server

assetstatus table:
1,Deployed
2,Inventory
3,Shipped

questionAnswers(2)

yourAnswerToTheQuestion