【发布时间】:2010-09-18 04:29:19
【问题描述】:
我有一个数据表,我允许人们将元数据添加到该表中。
我为他们提供了一个接口,让他们可以将其视为向存储数据的表添加额外的列,但我实际上是将数据存储在另一个表中。
Data Table
DataID
Data
Meta Table
DataID
MetaName
MetaData
因此,如果他们想要一个存储数据、日期和名称的表,那么我将在数据表中保存数据,在元名称中包含“日期”一词,在元数据中保存日期,以及另一个元表中的行,元名称中有“名称”,元数据中有名称。
我现在需要一个查询,该查询从这些表中获取信息,并将其呈现为来自具有两个附加列“数据”和“名称”的单个表,因此对于客户来说,它看起来就像只有一个表他们的自定义列:
MyTable
Data
Date
Name
或者,换句话说,我该怎么走:
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
到这里:
MyTable
Data Date Name
Testing! 20081020 adavis
Hello, World! 20081019 mdavis
几年前,当我使用 PHP 在 MySQL 中执行此操作时,我做了两个查询,第一个是获取额外的元数据,第二个是将它们连接在一起。我希望现代数据库有替代方法来处理这个问题。
与this question的选项3有关。
-亚当
【问题讨论】:
标签: sql database metadata dataview