我正在使用 SQL Server 2008 R2。我有一个表结构如下:
Id (Identity): int
GroupId: int
Field Id: int
Field Name: nvarchar(1000)
Value: nvarchar(max)
这张表可以看作是一个键值对结构。
因此,如果我在 UI 中有以下记录:
Due Date | Target Date | Status
-----------------------------------
5-Jun-2013 | 4-June-2013 | Pending
10-Jun-2013 | 8-June-2013 | Completed
15-Jun-2013 | 11-June-2013 | Pending
在数据库中,每一列都作为单独的记录。所以数据库将有:
Id | Group Id | Field Id | Field Name | Value
-----------------------------------------------------------
1 | 1 | 1 | Due Date | 5-Jun-2013
2 | 1 | 2 | Target Date | 4-Jun-2013
3 | 1 | 3 | Status | Pending
4 | 2 | 1 | Due Date | 10-Jun-2013
5 | 2 | 2 | Target Date | 8-Jun-2013
6 | 2 | 3 | Status | Completed
7 | 3 | 1 | Due Date | 15-Jun-2013
8 | 3 | 2 | Target Date | 11-Jun-2013
9 | 3 | 3 | Status | Pending
从数据库中检索时,我希望以与 UI 中看到的格式相同的格式获得输出。考虑到该表将包含大量数据,获得此结果的最佳方法是什么?
在这方面的任何帮助都将非常有用。