动态数据透视EAV模型表结构

时间:2019-12-04 20:53:18

标签: sql pivot pivot-table entity-attribute-value

我有一个EAV模型,用于存储不同的表单及其捕获的数据。他们看起来像这样:

实体表

EntityID EntityName
1        Capture Leave

属性表

AttributeID EntityID AttributeName AttributeDataType
1           1        Name          varchar
2           1        LeaveStartDT  Date
3           1        LeaveEndDT    Date

值表

ValueID ValueInstanceID AttributeID ValueVarchar ValueInt ValueDate   ValueBool
1       1               1           Peter        NULL     NULL        NULL
2       1               2           NULL         NULL     2019-12-01  NULL
3       1               3           NULL         NULL     2019-12-20  NULL
4       2               1           Sam          NULL     NULL        NULL
5       2               2           NULL         NULL     2020-01-01  NULL
6       2               3           NULL         NULL     2020-01-20  NULL

想法是在字段中添加更多表单并捕获其数据。 ValueInstanceID显示一种形式的捕获数据。在此示例中,有2个捕获的表单。

此想法是从此模型创建不同的视图,以显示捕获的不同表单以及表单字段作为列名。在这种情况下,“请假”表单的视图如下所示:

Name  LeaveStartDT LeaveEndDT
Peter 2019-12-01   2019-12-20
Sam   2020-01-01   2020-01-20

目前,我们已从应用程序正确写入表中,但是如何显示这种格式的数据?

0 个答案:

没有答案