0
SQL Server 2008中,我有以下父/子表的图式和行:SQL Server 2008透视键值加入父?
create table #par(parid int primary key identity(1,1) , partext varchar(6))
create table #chi(chiid int primary key identity(1,1) , parid int null , chirefid int null , chiinfo varchar(6))
create table #chiref (chirefid int primary key identity(1,1) , chisubdesc varchar(9))
insert into #par values ('par1') , ('par2')
insert into #chiref values ('chi1')
insert into #chiref values ('chi2')
insert into #chiref values ('chi3')
insert into #chi values (1 , 1 , 'aaa')
insert into #chi values (1 , 2 , 'bbb')
insert into #chi values (2 , 1 , 'ccc')
insert into #chi values (2 , 2 , 'ddd')
insert into #chi values (2 , 3 , 'eee')
孩子#chi刚刚键/值对里面,我需要的文本(键)转换成列并把值放在里面,所以结果集的形状如下。什么是最好的方式做到这一点(我不能改变的关键/价值的东西,它是从另一个系统继承)。 #chiref表中有一个实际列名的连接(这实际上让我很难过)。
partext chi1 chi2 chi3
par1 aaa bbb
par2 ccc ddd eee
谢谢。
编辑 - 要记住的是,列名必须匹配表中的“键值”。所以如果EAV行键是“chi1”,那么主键必须有“chi1”。我只是打破了“1”。所以我明白了。
再次感谢!
感谢。我试图添加一个连接条件来获取pivoted数据的正确列名称,而pivot不喜欢它。我更新了原始帖子。联接应该如何工作? – Snowy 2011-05-25 21:01:49