[英]sql pivot table or something like a pivot table
我想在我拥有的两个表上做一个数据透视表。
表格1
人员电话
PersonID int not null
phoneID int not null
表2
电话
phoneID int not null
PhoneNumber nvarchar(10)
PhoneType int
我希望结果是
---------|-------------|-------------|-------------|
personID | phoneNumber | phoneNumber | phoneNumber |........ n times
有没有一种使用数据透视表或一些很酷的SQL的方法,这些数据将在1行中列出一个personID及其所有电话号码?
select personID,[Foo],[Bar],[fooBar]
FROM (
SELECT pp.PersonID,phonetype,phoneNumber
FROM personToPhone AS PP
inner join phone as p on pp.phoneid = p.phoneid
where pp.personid = @PersonID) as tableToPivot
pivot (max(phoneNumber) for phoneType IN ([[Foo],[Bar],[fooBar])) as pivotTable
从此处取消大部分理论http://sqlwithmanoj.wordpress.com/2011/01/25/dynamic-pivot/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.