Qual consulta ou exibição SQL mostrará "colunas dinâmicas"

Eu tenho uma tabela de dados e permito que as pessoas adicionem metadados a essa tabela.

Dou a eles uma interface que lhes permite tratá-lo como se estivessem adicionando colunas extras à tabela em que seus dados estão armazenados, mas na verdade estou armazenando os dados em outra tabela.

Data Table
   DataID
   Data

Meta Table
   DataID
   MetaName
   MetaData

Portanto, se eles quisessem uma tabela que armazenasse os dados, a data e um nome, eu teria os dados na tabela de dados, a palavra "Data" no metaname, a data no MetaData e outra linha no meta-tabela com "Nome" no metaname e o nome nos metadados.

Agora, preciso de uma consulta que pegue as informações dessas tabelas e as apresente como se fossem de uma única tabela com as duas colunas adicionais "Dados" e "Nome", para que o cliente pareça que exista uma única tabela com suas colunas personalizadas :

MyTable
   Data
   Date
   Name

Ou, em outras palavras, como vou daqui:

Data Table
   DataID        Data
   1             Testing!
   2             Hello, World!

Meta Table
   DataID        MetaName         MetaData
   1             Date             20081020
   1             Name             adavis
   2             Date             20081019
   2             Name             mdavis

Para aqui:

MyTable
   Data          Date             Name
   Testing!      20081020         adavis
   Hello, World! 20081019         mdavis

Anos atrás, quando fiz isso no MySQL usando PHP, fiz duas consultas, a primeira para obter os metadados extras e a segunda para juntar todos eles. Espero que os bancos de dados modernos tenham métodos alternativos para lidar com isso.

Relacionado à opção 3 deessa questão.

-Adão

questionAnswers(3)

yourAnswerToTheQuestion