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