繁体   English   中英

sql数据透视表或类似数据透视表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM