SQL Converter linhas para colunas

Eu sei que isso foi perguntado algumas vezes antes, mas não consigo encontrar nenhuma solução que se encaixe no meu exemplo.

Atualmente tenho uma tabela de permissões de usuário para usar determinadas páginas. A tabela ficaria assim:

UserID    pagename         pageid
-----------------------------------
1         home             1
1         contacts         3
3         home             1
2         links            2

Como eu geraria uma tabela a partir desses dados onde eu tenho todos os nomes de página tabulados como colunas e cada linha da tabela é para um User ID, os valores da coluna exibem 0 ou 1 com base no fato de a tabela original ter ou não uma entrada para essa página em particular, por exemplo:

UserID     home     links    contacts
-------------------------------------
1          1        0        1
2          0        1        0
3          1        0        0

Sua ajuda é muito apreciada!

questionAnswers(2)

yourAnswerToTheQuestion