"Pivotando" uma tabela no SQL (ou seja, tabulação cruzada / tabulação cruzada)

Estou trabalhando na tentativa de gerar um relatório de algumas tabelas do banco de dados. A versão simplificada se parece com isso

Campaign
----------
CampaignID

Source
-----------------------
Source_ID | Campaign_ID

Content
---------------------------------------------------------
Content_ID | Campaign_ID | Content_Row_ID | Content_Value

O relatório precisa ser lido assim:

CampaignID - SourceID - ContentRowID(Value(A)) - ContentRowID(Value(B))

Onde ContentRowID (Valor (A)) significa "Localizar uma linha que possui um determinado CampaignID e um ContentRowId de" A "e, em seguida, obter o ContentValue para essa linha"

Basicamente, eu tenho que "girar" (acho que esse é o termo correto) as linhas em colunas ...

É um banco de dados Oracle 10g ...

Alguma sugestão?

questionAnswers(9)

yourAnswerToTheQuestion