Pivô dinâmico do MySQL

Eu tenho uma tabela de peças de produtos como esta:

Peças

part_id      part_type      product_id
--------------------------------------
1            A              1
2            B              1
3            A              2
4            B              2
5            A              3
6            B              3

e eu quero uma consulta que retornará uma tabela como esta:

product_id      part_A_id      part_B_id
----------------------------------------
1               1              2
2               3              4
3               5              6

Em sua implementação real, haverá milhões de peças de produto

questionAnswers(3)

yourAnswerToTheQuestion