sql 数据透视表或类似数据透视表的东西

发布于 2024-11-07 20:35:44 字数 491 浏览 0 评论 0原文

我想在我拥有的两张桌子上做一个数据透视表。

表 1

PersonToPhone

 PersonID int not null
 phoneID int not null

table2

Phone

phoneID int not null
PhoneNumber nvarchar(10)
PhoneType int

我希望结果为

---------|-------------|-------------|-------------|
personID | phoneNumber | phoneNumber | phoneNumber |........ n times

有没有办法使用数据透视表或一些很酷的 sql 来在 1 行上列出 personID 及其所有电话号码?

I would like to do a pivot table on two tables I have.

table 1

PersonToPhone

 PersonID int not null
 phoneID int not null

table2

Phone

phoneID int not null
PhoneNumber nvarchar(10)
PhoneType int

I would like the result to be

---------|-------------|-------------|-------------|
personID | phoneNumber | phoneNumber | phoneNumber |........ n times

is there a way of using a pivot table or some cool sql that will list a personID and all their phonenumbers on 1 row?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

黯然 2024-11-14 20:35:44
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-枢轴/

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

Yanked most of the theory off of here
http://sqlwithmanoj.wordpress.com/2011/01/25/dynamic-pivot/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文