存储过程中的动态表枢轴

时间:2014-05-04 16:22:12

标签: sql-server stored-procedures dynamic pivot

我正在使用Web界面将对象绑定到用户。我使用的是SQL Server 2008 R2。

是另一种对象。我希望在SQL中动态显示一个表,以避免在PHP中执行它(这将是繁琐的,并且需要时间显示)。

我解释了一下我的数据模型。

我有模块(模块表)具有功能(功能表)。这些功能是一个库存对象,它将绑定它们和用户。为了制作对象功能的清单,我需要一个表单,这个表单有字段(表字段)。这些字段将包含将被插入" DataField"表。 ID" id_group"允许对来自相同表单的字段值进行分组。

直到那时,不用担心。当我想表明我将我的字段值与用户链接时,我的问题出现了。

如果我以" Mobile"为例模块。它有三个功能" Number"其中包括手机号码," Device"其中包括手机型号和" Link"这将允许我将一个数字("数字")与移动设备("设备")和用户("用户")捆绑在一起。

功能"数字"有字段:"短号","长号"和"外部号码"

功能"设备"有字段"制造商"和"模型"

您可以看到与" Number"相关的数据。功能:

ID |Short Number|Long Number|External Number|
1  | 4545       | 3314545   | 0101014545    |
2  | 1234       | 3311234   | 0101011234    |
3  | 9876       | 3319876   | 0101019876    |

您可以看到与"设备"相关的数据。特征:

ID |Manufacture|Device|
4  | Alcatel   | 4018 | 
5  | Alcatel   | 4028 | 
6  | Cisco     | 7676 |

我刚看到的表,我可以使用SQL存储过程来检索字段名称并添加我的列然后水平显示数据。

然后我在R_Data_Field_User表中与模型(Devices)和用户(Users)建立了一个数字(Number)的连接。在这里,我看不到我的照片。以下是我想要动态获取的内容,具体取决于模块和功能:

ID_LINK | User     | Number                    | Device         |
1       | 1 Romain | 1 4545 3314545 0101014545 | 4 Alcatel 4018 |
2       | 2 Jean   | 2 1234 3311234 0101011234 | 5 Alcatel 4028 |
3       | 3 Pierre | 3 9876 3319876 0101019876 | 5 Alcatel 4028 |

我希望制作一个存储过程让我感兴趣。我认为我们只需要变量作为功能ID

Here is my SQL Fiddle

我希望我很清楚...

我继续我的研究......

0 个答案:

没有答案