0
在SQL Server 2012中,我有一个看起来像四个表:拼合SQL 4个表
Issues
:
IssueID | IssueTitle
1 | Light Bulb Burnt Out
2 | Thermostat not working
LocationTypes
:
TypeID | Type
1 | Building
2 | Floor
3 | Room
Locations
:
LocaltionID | TypeID | Location | ParentLocation
0 | 1 | default | 0
1 | 1 | Sears Tower | 0
2 | 1 | IDS | 0
3 | 2 | Floor 1 | 1
4 | 2 | Floor 2 | 1
5 | 2 | Floor 3 | 1
6 | 2 | Floor 4 | 1
7 | 2 | Floor 5 | 1
8 | 2 | Floor 6 | 1
9 | 2 | Floor 7 | 1
10 | 2 | Floor 8 | 1
108 | 3 | Room 101 | 3
109 | 3 | Room 102 | 3
110 | 3 | Room 110 | 3
111 | 3 | Room 202 | 4
112 | 3 | Room 300 | 5
175 | 2 | 1st Floor | 2
185 | 2 | 2nd Floor | 2
186 | 3 | Suite 295 | 185
IssueLocations
:
IssueID | LocationId
1 | 1
1 | 5
1 | 112
2 | 2
2 | 185
而我想要做的就是结合表,这样我结束了一行每间发行机构,与字段名称为列标题和字段值,所以我结束了:
结果:
IssueID | IssueTitle | Building | Floor | Room
--------------------------------------------------------------------------
1 | Light Bulb Burnt Out | Sears Tower | Floor 1 | Room 300
2 | Thermostat not working | IDS | 2nd Floor |
注意的第二个问题没有一个房(无位置为必填项),位置少的问题是有效的。请注意,其他约束可能导致所需的位置,但我认为这与此问题无关。
向我们展示你的尝试和努力,到目前为止 - 并告诉我们你就完蛋了! – 2014-12-03 17:26:07
我想你在'IssueLocations'表中缺少'TypeID'。 – 2014-12-03 17:27:25
@ Dave.Gugg问题 - > IssueLocations - >位置 - >位置类型 – brykneval 2014-12-03 17:29:44