我有一个人和它的朋友之间的主细节关系:
人
id name
-- ------
1 Jones
2 Smith
3 Norris
朋友们
id personId friendName
-- -------- ----------
1 1 Alice
2 1 Bob
3 1 Charly
4 1 Deirdre
5 2 Elenor
一个人可以拥有任意多的朋友。我想创建一个视图来选择所有人以及它找到的前三个朋友;像这样的东西:
id name friend1 friend2 friend3
-- ---- ------- ------- -------
1 Jones Alice Bob Charly
2 Smith Elenor <null> <null>
3 Norris <null> <null> <null>
如何使用标准 SQL 执行此操作?(微软 SQL Server 2005)。